套接字编程将多个客户端连接到一个服务器并列出它们

时间:2013-10-16 14:36:10

标签: c sockets tcp network-programming pthreads

您好我是tcp套接字编程的新手我希望使用线程将多个客户端连接到一个服务器,并且每个客户端连接服务器一次。我们能够查看谁(客户端)连接到此服务器。

我正在考虑创建struct以在client.c和server.c上保存客户端记录。一旦客户端连接,我们将使用send(sock , (void *)&package , sizeof(struct USER) , 0将结构传递给server.c和server.c中我们也服务器接收数据后创建相同的结构recv(sock, (void *)&package, sizeof(struct USER), 0);服务器会将这些数据存储到struct中但是如何?我尝试结果是当我连接多个客户端一个名为User1而另一个名为User2然后我尝试打印出strut结果是..

在客户端1上显示

USER[0]: User1
USER[1]: (NULL)

在客户端2上显示

USER[0]: (NULL)
USER[1]: User2

任何人都可以请帮助

非常感谢

1 个答案:

答案 0 :(得分:0)

多个客户端通常连接到单个服务器。我不确定您希望从每个客户端传递给服务器的信息,但如果它类似于客户端的IP地址或网络设置,则客户端在尝试连接时已经将其提供给服务器。对TCP / IP协议进行更深入的研究可能是一个好主意。有很多很好的教程和例子。

如果您尝试通过网络共享其他信息,一旦建立连接,您就可以通过套接字传递任何内容。这完全取决于您的应用程序正在执行的操作,但未指定。

相关问题