关于网络内进程间通信的问题

发布于 2022-09-30 07:19:49 字数 286 浏览 18 评论 0

A 机器的进程 1 想要和 B 机器的进程 2  建立连接并进行通信交互,但是B机器的进程 2 不能监听网络,怎么才能建立这个连接呢?

我的想法是B机器再启动一个监听进程3,专门负责监听进程 1 的连接请求,等和进程1建立连接后,进程3通过某种方式,把它和进程1之间的socket连接转移到进程2上,

刚开始接触网络方面的东西,不知道这样的想法是否可以实现,具体又怎么实现呢,

[ 本帖最后由 japonensis 于 2005-12-9 11:19 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

猛虎独行 2022-10-07 07:19:49

你可以采取另外的方式。 你所说的进程3 和 进程 2 用其他方式交换数据未必就只有socket.
比如可以共享内存。消息队列。

风吹雪碎 2022-10-07 07:19:49

我的意思是, 1和2 不能直接建立连接,让1和3 建立连接,然后,3把他的socket描述符传递给2,1和2 就能 通信了, 这样能实现吗

因为进程2 早已经已经存在了

[ 本帖最后由 japonensis 于 2005-12-9 11:23 编辑 ]

极致的悲 2022-10-07 07:19:49

原帖由 japonensis 于 2005-12-9 11:22 发表
我的意思是, 1和2 不能直接建立连接,让1和3 建立连接,然后,3把他的socket描述符传递给2,1和2 就能 通信了, 这样能实现吗

能。进程间也可以复制文件描述符得。详细请参考<<Unix环境高级编程>>15章 如果我没记错的话。

樱花落人离去 2022-10-07 07:19:49

晕,俺有这本书啊,怎么没看见

久隐师 2022-10-07 07:19:49

原帖由 japonensis 于 2005-12-9 11:24 发表
晕,俺有这本书啊,怎么没看见

你再仔细看看。

情释 2022-10-07 07:19:49

我想这个就像QQ聊天一样吧,两个人建立连接也是一方连接到服务器,然后服务器再把连接转移个另外一个人吧,
猜的,不知道具体是怎么实现的

煮酒 2022-10-07 07:19:49

QQ 的服务器中转一个 IP 信息就差不多了……比这个单纯得多。

山田美奈子 2022-10-07 07:19:49

QQ传的是IP吗, 服务器是怎么向处于局域网的QQ用户传IP呢

[ 本帖最后由 japonensis 于 2005-12-9 20:25 编辑 ]

恰似旧人归 2022-10-07 07:19:49

是我说的不严谨。我猜想 QQ 服务器在通常情况下只能是传输连接信息或者直接转发消息。

我确信的是,转发 fd 目前只能通过 Unix Domain Socket (或者 STREAMS 管道)在本机内进程之间进行。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文