首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    没有IP和端口号,可以进行socket通信吗?

    在使用socket通信时,无论是本机内部通信,还是两台机器通信,也无论是TCP的方式,还是UDP的方式,一般都要指定IP和端口号。...在Linux开发中,如果是同一台设备内部通信,也可以不需要IP和端口号,这就是Unix域socket通信,它实际上是通过文件的方式实现通信,从而不再需要IP和端口号。...1 Unix域socket基础知识 在使用IP和端口号的socket通信中,会用到sockaddr和sockaddr_in结构体,两个结构体一样大,都是16个字节,而且都有family属性,不同的是:...sockaddr用其余14个字节来表示sa_data sockaddr_in把14个字节拆分成sin_port, sin_addr和sin_zero,分别表示端口、ip地址。...3 总结 本篇介绍了Unix域的Socket通信实例,包括UDP和TCP两种方式,使用流程总结下来如下图: 使用Unix域的Socket通信(同一台机器内部通信),不再需要IP和端口号,只需要指定一个文件即可实现

    1.7K20

    深入理解端口的本质、Node.js Socket 的本质

    作为 web 工程师,我们每天都在和端口、socket 打交道,用的话可能很多人会用,但是问到它们的本质,可能能答出来的就很少了。 这篇文章,我们就来探究下端口和 socket 的本质。...socket 有了端口之后,我们就能定位到网络中的进程,然后进行数据通信了。但是不同的协议的数据结构不同,也就是要做不同的操作,直接操作网络传过来的数据比较复杂,这件事应该操作系统来封装一下。...服务端通过 listen 来把进程绑定到端口,客户端连接上服务端的某个端口,通过网络把数据传输到该端口,之后进行数据的读写。 各种语言都对 socket api 做了封装,Node.js 也不例外。...通过 协议 + ip + 端口的 3 要素就可以定位网络上的进程,而具体协议的数据格式不同,所以 POSIX 规定了 socket 的一系列 api,包括服务端的 bind、read、write、close...希望这篇文章可以帮助大家理解端口的本质(内存中用于接受网络数据的数据结构),socket 的本质(POSIX 定义的网络通信 api),以及熟悉 Node.js 的 net 的 api。

    1.1K10

    【Linux】认识协议、MacIP地址和端口号、网络字节序、socket套接字

    另外,一个进程可以绑定多个端口号,但一个端口号不能被多个进程绑定。 网络通信的本质,也是进程间通信,本质是两个互联网进程代表人来进行通信。IP + port 叫做套接字socket。...5、socket socket常见API: // 创建 socket 文件描述符 (TCP/UDP, 客户端 + 服务器) int socket(int domain, int type, int protocol...); // 绑定端口号 (TCP/UDP, 服务器) int bind(int socket, const struct sockaddr *address,socklen_t address_len...); // 开始监听 socket (TCP, 服务器) int listen(int socket, int backlog); // 接收请求 (TCP, 服务器) int accept(int..., const struct sockaddr *addr,socklen_t addrlen); socket: socket()打开一个网络通讯端口,如果成功,就像open()一样返回一个文件描述符

    10010

    python中socket与socket

    一、socket模块 socket又叫套接字,是网络编程中的一个基本组件,是两个端点的程序之间的“信息通道”程序可分布在不同的计算机上(通过网络连接),通过socket套接字相互发送信息。...python中的大多数的网络编程都 隐藏了socket模块的基本细节。 python中通过socket模块完成网络编程的套接字实现,一个套接字就是socket模块中的socket类的一个实例。...socket实例化需要三个参数分别是family(ipv4,ipv6,unix)其中默认是ipv4 "socket.AF_INET",第二个参数是流,默认是socket.SOC_STREAM表示tcp,...代码如下: 1、srv.py import socket sk = socket.socket() #print(sk) HOST = '127.0.0.1' PORT = 2222 BUFSIZ =...#指定ip PORT = 2222 #侦听端口 BUFSIZ = 1024 #缓存大小 ADDR = (HOST,PORT)

    1.5K11

    Socket

    Socket 据交换,这个双向连接的一端称为一个Socket java.net包中定义的两个类Socket和ServerSocket,分别用来实现双向连接的client和server端 建立连接时所需的寻址信息为远程计算机的...ip地址和端口号(Port number) //Server端 import java.net.*; import java.io.*; public class TcpServer { public...dos.flush(); dos.close(); } }  首先说Server端,Server端用的类是ServerSocket,构造方法中的参数表示监听哪个端口...,一个服务器或者一台电脑上有很多端口,其中有一些是已经被占用的,就不能用,这里我随便用6666这个端口  然后是Client端,Client端用的类是Socket,构造方法中的两个参数,第一个是访问的...,Client使用哪个端口是系统随机分配的,而Server端开发什么端口是自定义的,这两个有区别 //Server端 import java.net.*; import java.io.*; public

    1.1K40

    【计网】深入理解网络通信:端口号、Socket编程及编程接口

    1.2.认识端口号 端口号(port)是传输层协议的内容。...端口号是一个 2 字节 16 位的整数; 端口号用来标识一个进程, 告诉操作系统, 当前的这个数据要交给哪一个进程来处理; IP 地址 + 端口号能够标识网络上的某一台主机的某一个进程; 一个端口号只能被一个进程占用...1.3.端口号范围划分 0 - 1023: 知名端口号, HTTP, FTP, SSH 等这些广为使用的应用层协议, 他们的端口号都是固定的. 1024 - 65535: 操作系统动态分配的端口号....2.2.socket编程的概念 Socket编程是在应用层和传输层之间进行的编程。...创建 socket 文件描述符 (TCP/UDP, 客户端 + 服务器) int socket(int domain, int type, int protocol); // 绑定端口号 (TCP/UDP

    17710

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券