我如何使用recvfrom函数接收特定客户端
在使用udp套接字的服务器中,如何从特定客户端接收数据?我知道如何使用recvfrom,发件人地址也被返回。但问题是recvfrom函数从任何客户端接收数据。但我想要的例子是,recvfrom 仅接收 client2 的数据。 (地址为 cliAddr2);我该怎么做? (我在linux上使用c语言)
感谢您的回答。
In a server by using udp socket, how can i receive data from a specific client? i know that how to use recvfrom and sender address is also returned. but the problem is that recvfrom function receives data from any client. but i want for example, recvfrom receive data only for client2. (with address cliAddr2); How can i do this? (i am using c languange on linux)
Thanks for answers.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可以使用类似于TCP套接字的
connect()
来限制数据包到一个源。You can use
connect()
similar to TCP sockets to limit packets to one source.AFAIK,您无法阻止 recvfrom() 从任何客户端接收数据,
唯一的方法是自己删除程序中的数据或使用 netfilter/iptables 等。
AFAIK, you can not prevent recvfrom() from receiving data from any client,
the only way is to drop the data in your program yourself or use netfilter/iptables for example.