当前位置: 技术问答>linux和unix
Unix domain socket可用于同一个进程中的不同线程么?
来源: 互联网 发布时间:2017-02-06
本文导语: 准备用Unix domain socket 写点东西。 咨询下,Unix domain socket可以用于同一个进程中的不同线程间发送数据么? | DOMAIN和SOCKET的区别: 1,SOCKET绑定在IP:PORT上,DOMAIN绑定在PATH上. 2,SOCKET通过connect调...
准备用Unix domain socket 写点东西。
咨询下,Unix domain socket可以用于同一个进程中的不同线程间发送数据么?
咨询下,Unix domain socket可以用于同一个进程中的不同线程间发送数据么?
|
DOMAIN和SOCKET的区别:
1,SOCKET绑定在IP:PORT上,DOMAIN绑定在PATH上.
2,SOCKET通过connect调用后, 可以由内核分配本地地址, 而DOMAIN不行, 所以DOMAIN的服务端和客户端都要有自己的PATH去绑定. 觉得客户端指定PATH没意义的话可以tmpfile系列函数随机生成即可, 因为它保证生成的文件不存在于文件系统中, 这也是DOMAIN调用BIND对PATH的要求, 即必须不存在.
1,SOCKET绑定在IP:PORT上,DOMAIN绑定在PATH上.
2,SOCKET通过connect调用后, 可以由内核分配本地地址, 而DOMAIN不行, 所以DOMAIN的服务端和客户端都要有自己的PATH去绑定. 觉得客户端指定PATH没意义的话可以tmpfile系列函数随机生成即可, 因为它保证生成的文件不存在于文件系统中, 这也是DOMAIN调用BIND对PATH的要求, 即必须不存在.
|
那应该没问题
也可以考虑使用socketpair()
也可以考虑使用socketpair()
|
感觉同上,如果要做unix socket要做的话,是可以做的,只不过线程间用这个通信感觉很奇怪...呵呵
不知道LZ的业务是什么,猜测管道应该更合适吧...
不知道LZ的业务是什么,猜测管道应该更合适吧...