Winsock选择错误10038,绑定和侦听成功
Winsock select error 10038, bind and listen successful
我正在尝试使用Winsock的select()
函数。然而,尽管成功地创建了一个套接字,将其绑定到一个端口并开始侦听,select还是失败了,错误为10038("不是套接字")。我可以用TCPView确认套接字确实在8080端口上侦听,所以我不确定为什么会出现这个错误。
这是我在成功使用listen()
之后添加的一些测试代码。
fd_set readfds;
SOCKET client_socket[2], s;
int act, max_clients = 2;
while (true)
{
FD_ZERO(&readfds);
FD_SET(this->sock, &readfds);
for (int i = 0; i < max_clients; i++)
{
s = client_socket[i];
if(s > 0)
{
FD_SET(s, &readfds);
}
}
act = select(0, &readfds, NULL, NULL, NULL);
if (act == SOCKET_ERROR)
{
printf("Select failed: %d" , WSAGetLastError());
}
}
我取了一个通常在printf()
之后的break
,这样我就可以在TCPView中更容易地看到它。正如预期的那样,TCPView将该状态报告为"正在收听"。这个->袜子是bind()
和listen()
使用的SOCKET。
您选择的FD之一不是套接字FD。
相关文章:
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 在基于范围的for循环中使用结构化绑定声明
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- 视觉studo 2019中的漫画和静态/动态绑定
- 将自由函数绑定为类成员函数
- 将常量指针引用绑定到非常量指针
- 在派生类中绑定非静态模板化成员函数
- 绑定派生类方法C++从实例范围之外的分隔 std::function 变量调用
- 在 openGL 中多次绑定缓冲区
- 定义有趣的宏和正则表达式在Z3 C++绑定
- 使用结构化绑定'Reflection'
- 为什么 std::绑定错误参数可以成功?
- 如何绑定 C++ gRPC 客户端的网络接口
- 在 openmp 中,omp_get_thread_num是否绑定到物理线程?
- C++绑定(已弃用)
- 运行时错误:引用绑定到类型为"int"的空指针
- 有没有办法将重载的类函数绑定到函数对象?
- Winsock选择错误10038,绑定和侦听成功