嗨,我对 TCP 套接字编程非常陌生,我想使用线程将多个客户端连接到一台服务器,并且一旦每个客户端连接到服务器。我们可以查看谁(客户端)连接到该服务器。
我正在考虑创建结构体来在 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
谁能帮忙
非常感谢
最佳答案
多个客户端连接到单个服务器是典型的情况。我不确定您想要从每个客户端传递到服务器的信息是什么,但如果是客户端的 IP 地址或网络设置之类的信息,则客户端在尝试连接时已将其提供给服务器。更深入地研究 TCP/IP 协议(protocol)可能是个好主意。有许多很好的教程和示例可供使用。
如果您尝试通过网络共享一些其他信息,一旦建立连接,您就可以通过套接字传递任何您想要的信息。这完全取决于您的应用程序正在执行的操作,但未指定。
关于c - 套接字编程将多个客户端连接到一台服务器并列出它们 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19406301/