使用C套接字的对等网络

问题描述 投票:2回答:1

我是套接字编程的新手,在建立新的对等网络方面需要一些帮助。我现在说的是分别同时连接到客户端B和C的服务器A。我正在使用select()API来建立它,到目前为止,它已经可以工作了(A可以与B和C独立通信。)我现在想要的是使B和C直接相互通信;例如,B要求不涉及A的情况下连接到C。B和C仍将都连接到A,但是它们之间将具有对等连接,以便彼此通信。知道这是如何工作的吗?我试图通过调用listen()和accept()使客户端程序也像服务器一样工作。但这只会冻结我的客户。

如果您想知道如何实现此功能,我有一个在客户端/服务器上抛出命令的用户界面。

任何帮助都将不胜感激。

c sockets p2p
1个回答
0
投票

对于TCP连接,一个对等方必须被动侦听,而另一对等方必须主动连接。 (有一个例外,TCP同时打开,这可能不是您想要的。)在您的示例中,要在B和C之间建立连接,您可以像在A和B中一样进行操作。您可以让B监听并接受,并让C连接。

您的客户为什么冻结?打印错误消息,strace是您的朋友。

© www.soinside.com 2019 - 2024. All rights reserved.