我是套接字編程的新手。我想創建一個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