java多个客户端区分_Unix域套接字如何区分多个客户端?

如果创建类型2598980619510210219777的2.6.18-238.19.1.el5套接字并接受连接,则每次接受连接时,都会得到一个新的文件描述符(作为SOCK_STREAM系统调用的返回值)。 该文件描述符在客户端进程中从文件描述符读取数据并将数据写入文件描述符。 因此,它的工作方式就像TCP / IP连接一样。

没有“ unix域协议格式”。 不需要这样,因为不能通过网络连接将Unix域套接字连接到对等方。 在内核中,代表您的259898061951021026 Unix域套接字结尾的文件描述符指向一个数据结构,该数据结构告诉内核哪个文件描述符位于连接的另一端。 当您将数据写入文件描述符时,内核会在连接的另一端查找文件描述符,并将数据附加到该其他文件描述符的读取缓冲区。 内核不需要将数据放入带有描述其目的地的标头的数据包中。

对于2598980619510210219776套接字,您必须告诉内核应该接收数据的套接字的路径,并使用该路径查找该接收套接字的文件描述符。

如果在连接到服务器套接字之前(或在使用2.6.18-238.19.1.el5发送数据之前)将路径绑定到客户端套接字,则服务器进程可以使用259898061951021919777(用于259898061951021028)获取该路径。 对于2598980619510210219779,接收方可以使用recvfrom获取发送套接字的路径。

如果不绑定路径,则接收过程将无法获得唯一标识对等方的ID。 至少,不是在我正在运行的Linux内核上(2598980619510210219776)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值