连接到网络上的设备时出现问题.每当我调用getaddrinfo()时它返回11001.我已经在IP_ADDRESS字符串(Global Var)中检查了许多不同的IP.我用nslookup检查了所有非工作号码,大多数存在于那里.
getaddrinfo-returns-always-11001-host-not-found 似乎在问一个类似的问题,但那里没有答案.
目前,我的代码甚至没有尝试连接到远程设备,只是尝试解析IP.一旦有效,我就可以继续处理更大更混乱的问题.
执行:
int connectToDevice(char *sendbuf, char *recvbuf, SOCKET ConnectSocket)
{
WSADATA wsaData;
struct addrinfo *result = NULL,
*ptr = NULL,
hints;
struct timeval tval;
fd_set rset, wset;
int iResult;
u_long mode = -1;
//Initialize Winsock
iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != 0)
{
printf("WSAStartup failed with error: %d\n", iResult);
return 1;
}
ZeroMemory( &hints, sizeof(hints) );
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
//Resolve the server address and port
iResult = getaddrinfo(IP_ADDRESS, DEFAULT_PORT, …Run Code Online (Sandbox Code Playgroud)