您好我是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
任何人都可以请帮助
非常感谢
答案 0 :(得分:0)
多个客户端通常连接到单个服务器。我不确定您希望从每个客户端传递给服务器的信息,但如果它类似于客户端的IP地址或网络设置,则客户端在尝试连接时已经将其提供给服务器。对TCP / IP协议进行更深入的研究可能是一个好主意。有很多很好的教程和例子。
如果您尝试通过网络共享其他信息,一旦建立连接,您就可以通过套接字传递任何内容。这完全取决于您的应用程序正在执行的操作,但未指定。