【发布时间】:2012-03-06 21:50:27
【问题描述】:
考虑一个服务器进程被多个客户端进程使用 UNIX 套接字作为 IPC 机制联系。
每个客户端代码都在无限循环中运行,试图从/向套接字读取数据。
我的问题:客户端如何知道它没有读取打算由其他进程读取的数据?服务器进程正在将数据写入单个套接字,对吗?
对于 TCP/IP,这个问题没有意义 - 一个套接字意味着一个元组 <remote host, remote port, local host, local port, protocol>,因此在试图访问服务器的不同机器上运行的进程永远无法读取彼此的数据。
但是对于 UNIX 套接字,它只是一个文件,对吗?还是我错过了什么?
【问题讨论】:
-
你能添加一些代码吗?
-
@tafoo85:这只是一个 UNIX 服务器进程被多个客户端进程联系的一般情况。由于 IPC 方案是映射到文件的 UNIX 域套接字,我的问题是客户端如何知道某些数据是否是给它的,因为服务器总是将数据写入同一个套接字?
-
如果我可以参考一些代码,它通常有助于解释。就是这样。
-
'服务器进程正在将数据写入单个套接字,对吗?':错误。在每种情况下,它正在写入不同的接受套接字。
标签: sockets network-programming unix-socket