我是套接字编程的新手。我想创建一个UDP套接字,但socket()
函数返回-1创建套接字函数返回-1
signed long int sockfd;
sockfd=socket(AF_INET, SOCK_DGRAM, 0); //socket Function returns -1 Value
你能告诉我,当这个socket函数返回值-1?
我是套接字编程的新手。我想创建一个UDP套接字,但socket()
函数返回-1创建套接字函数返回-1
signed long int sockfd;
sockfd=socket(AF_INET, SOCK_DGRAM, 0); //socket Function returns -1 Value
你能告诉我,当这个socket函数返回值-1?
调用WSAGetLastError()以查找有关该错误的更多信息。我想你没有调用WSAStartup()。
也就是说,存在一个SOCKET类型,您应该使用它来代替“signed long int”,并将其与INVALID_SOCKET进行比较。这些是WinSock和BSD套接字API之间的细微差别。如果有疑问,请务必查看Microsoft的文档。
'socket()'错误时返回'INVALID_SOCKET',而不是'SOCKET_ERROR'。 –
谢谢,修复它。 –
这可能是一个愚蠢的问题,但你确实调用了'WSAStartup',不是吗? – Damon