我正在使用C ++和Winsock创建TCP客户端。 我创建了一个仅消息窗口,它将处理我使用WSAAsyncSelect注册的WM_SOCKET消息。
我的问题如下:我需要从另一个线程(我的应用程序的GUI线程)发送数据,我可以安全地从该线程调用'send'函数,或者我可能需要使用一些锁定接口(互斥体) )为了发送数据?
答案 0 :(得分:1)
从接收的线程发送不同的线程应该没有问题。
对于数据报套接字,您甚至可以同时发送多个线程(消息将被交错但不会混合)。
对于包含TCP的流套接字,多个同时发送者可以混合数据,因此建议一次只发送一个发送线程。但即使有一个发送线程限制,它也不必与接收线程相同。