问题:
- 调用 send(),针对套接字句柄返回 Winsock 错误 10038
插图:
acceptedSocket = accept (server, (sockaddr *)&sin, &len);
- accept(),返回0
- 为每个连接创建一个新的线程
- send(),(在线程函数中)返回10038
说明: - 在线程函数中
//omitted
SOCKET RemoteSocket = (SOCKET) client;
//omitted
send (RemoteSocket, stringToSpend, strlen(stringToSpend), 0)
建议:
- 可能,竞争条件?
- 可以使用 I/O 完成端口,但现阶段不能使用
最佳答案
是不是线路的问题
acceptedSocket = accept (server, (sockaddr *)&sin, &len) == INVALID_SOCKET)
您使 acceptedSocket
成为比较的结果,但您应该以某种方式存储从 accept 返回的实际套接字:
acceptedSocket = accept (server, (sockaddr *)&sin, &len);
isOK= acceptedSocket!=INVALID_SOCKET;
虽然我对你帖子中不平衡的括号有点困惑,所以我可能是错的
关于c++ - send(),返回 Winsock 错误 10038,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/577780/