在单个线程上从多个客户端套接字读取和写入的最佳方法是什么?我听说select()
是老学校,有更好的选择。目前使用WSAAsyncSelect
,WSAEventSelect
?
此外,WSARecv()
和recv()
以及WSASend()
和send()
之间的区别是什么? WSA版本是通过winsock发送和恢复数据的最现代方式吗?
答案 0 :(得分:1)
如果您的单个线程也在实现GUI,那么WSAAsyncSelect就是为此目的而设计的:您可以通过Windows线程中必须服务的Windows队列中的消息来获取套接字通知。
如果您的单个线程专用于套接字并且不需要消息循环,则WSAEventSelect可能更方便,速度更快。