首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TCP套接字管道

TCP套接字管道
EN

Stack Overflow用户
提问于 2009-12-11 17:12:08
回答 2查看 1.7K关注 0票数 1

假设你有两个套接字(每个套接字都会被其他TCP对等方监听),每个套接字都驻留在同一个进程上,如何绑定这些套接字,这意味着彼此的输入流将被绑定到另一个的输出流。套接字将持续传输数据,不会发生等待。通常线程可以解决这个问题,但是,是否有更有效的方法来管道套接字而不是创建线程?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-11 17:19:45

如果需要将套接字的两端连接到同一进程,请改用pipe()函数。此函数返回两个文件描述符,一个用于写入,另一个用于读取。出于这个目的,实际上并不需要使用TCP。

更新:根据您对用例的说明,没有任何方法可以告诉操作系统将两个不同套接字的末端连接在一起。您必须编写代码来从一个套接字读取数据,并将相同的数据写入另一个套接字。根据您的进程的体系结构,您可能需要也可能不需要额外的线程来完成此工作。例如,如果您的应用程序基于select()循环,则不需要创建另一个线程。

票数 1
EN

Stack Overflow用户

发布于 2009-12-11 17:20:45

您可以避免进程中具有事件队列的线程。WP Message queue文章假设您希望进行进程间消息传递,但如果您使用的是套接字,则可以在同一进程中进行进程间消息传递。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1886784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档