作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
来源:
WSADATA WSAData;
SOCKET sock;
if (WSAStartup(MAKEWORD(2,2), &WSAData)!=0) {
printf("\nProblem with WSAStartup\n\n");
return FALSE;
}
if ((sock = WSASocket(AF_INET,SOCK_RAW,IPPROTO_TCP, 0, 0, WSA_FLAG_OVERLAPPED)) == INVALID_SOCKET) {
WSACleanup();
printf("\nProblem with WSASocket\n\n");
return FALSE;
}
int flag = 1;
if (setsockopt(sock,IPPROTO_IP, IP_HDRINCL,(char *)&flag,sizeof(flag)) == SOCKET_ERROR) {
printf("getsockopt failed with error: %u\n\n", WSAGetLastError());
closesocket(sock);
WSACleanup();
return FALSE;
}
每次我在程序中运行它时,我都会得到:
getsockopt failed with error: 10049
10049 是 WSAEADDRNOTAVAIL 的错误代码,表示“请求的地址在其上下文中无效。”
请帮忙,我不知道为什么我总是收到此错误。
最佳答案
您在调用 WSASocket()
时指定了无效协议(protocol),请尝试将 IPPROTO_TCP
指定为:
WSASocket(AF_INET,SOCK_RAW,IPPROTO_TCP, 0, 0, WSA_FLAG_OVERLAPPED)
关于c++ - setsockopt 错误 WSAEADDRNOTAVAIL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13555147/
来源: WSADATA WSAData; SOCKET sock; if (WSAStartup(MAKEWORD(2,2), &WSAData)!=0) { printf("\nProble
我正在设置一个 UDP 套接字并尝试将应该是有效的网络广播地址绑定(bind)到它(192.168.202.255 : 23456),但 bind 失败并出现错误 10049, WSAEADDRNOT
我需要使用 WinSock 从特定的本地网卡打开套接字。我问了这个并得到了答案here .简而言之,答案建议您首先绑定(bind)到本地接口(interface),然后调用连接。 但是,当我这样做时,
我正在尝试使用两台 windows-7 机器设置一个私有(private) ipv6 网络来测试我的应用程序。我已经编写了一个示例代码来测试套接字 api。我创建了一个 IPv6 套接字。当我尝试使用
我是一名优秀的程序员,十分优秀!