0

嗨,我对 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);服务器,我们也会创建相同的结构将这些数据存储到结构中,但如何?我尝试的结果是,当我连接多个客户端时,一个名为 User1,另一个名为 User2,然后我尝试打印出 strut 结果是..

在客户端 1 上显示

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

在客户端 2 上显示

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

谁能帮忙

太感谢了

4

1 回答 1

0

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

如果您尝试通过网络共享一些其他信息,一旦建立连接,您就可以通过套接字传递您想要的任何信息。这完全取决于您的应用程序正在做什么,没有指定。

于 2013-10-16T17:37:52.287 回答