我需要使用UDP套接字编写程序,但我不明白在我的情况下应该做什么。
我有一个服务器和一个客户端。服务器在INADDR_ANY套接字上接收数据报,并为每个唯一的客户端发送大量信息。每个客户端也定期向服务器发送数据。
对于每个联系监听套接字的客户端(称为0),我都会为其创建一个单独的套接字,以便可以向其发送数据而不会阻塞套接字0。我想做的是将与特定客户端的所有通信移动到新套接字中。我能做到吗?目标是使通信更容易,更有效,并避免阻塞任何套接字。
所以我找不到答案的问题是:
- 我能从那个特定客户端的套接字中接收数据吗? - 如果不能,如果我不经常进行recvfrom操作,那么所有客户端都写入套接字0是否会导致它被阻塞? - 如果可以从单独的套接字接收特定客户端的数据,那么这些数据会同时传递到套接字0和特定套接字中吗?
我知道TCP在这方面效果更好,但我必须使用UDP。我该怎么做?是否有处理这种情况的公认“标准”?
评论:我觉得我对UDP套接字的理解有误,但与TCP相比,真的很少有教程。
我有一个服务器和一个客户端。服务器在INADDR_ANY套接字上接收数据报,并为每个唯一的客户端发送大量信息。每个客户端也定期向服务器发送数据。
对于每个联系监听套接字的客户端(称为0),我都会为其创建一个单独的套接字,以便可以向其发送数据而不会阻塞套接字0。我想做的是将与特定客户端的所有通信移动到新套接字中。我能做到吗?目标是使通信更容易,更有效,并避免阻塞任何套接字。
所以我找不到答案的问题是:
- 我能从那个特定客户端的套接字中接收数据吗? - 如果不能,如果我不经常进行recvfrom操作,那么所有客户端都写入套接字0是否会导致它被阻塞? - 如果可以从单独的套接字接收特定客户端的数据,那么这些数据会同时传递到套接字0和特定套接字中吗?
我知道TCP在这方面效果更好,但我必须使用UDP。我该怎么做?是否有处理这种情况的公认“标准”?
评论:我觉得我对UDP套接字的理解有误,但与TCP相比,真的很少有教程。