【发布时间】:2012-10-28 09:59:05
【问题描述】:
我在我的 C 程序中使用recvfrom() 来接收来自多个客户端的 UDP 数据包,这些客户端可以使用自定义用户名登录。一旦他们登录,我希望他们的用户名与唯一的客户端进程配对,以便服务器通过数据包的来源自动知道用户是谁。如何从通过recvfrom() 收到的数据包中获取此信息?
【问题讨论】:
-
recvfrom函数返回的sockaddr结构需要使用inet_ntop和ntohs。
-
这很好用。不过我遇到了一个问题,同一台计算机上的两个客户端应该有唯一的标识符,所以我在最后添加了端口。我在端口上使用 ntohs,但无法将其转换为 char*。我该怎么做?
-
没关系,我使用
sprintf()来完成工作。感谢您的帮助!