0
你好,我是一個初學socket/c程序員,從這個教程我有連接函數返回10038錯誤。請幫忙。我究竟做錯了什麼?
還有什麼區別winsock和winsock2? 也在connect()函數中定義了int PASCAL pascal是什麼?連接()函數失敗wsagetlasterror()10038
#include <iostream>
#include <winsock.h>
using namespace std;
int main(){
WSADATA wsa;
cout<< "Iinitializing winsock....";
SOCKET sa;
struct sockaddr_in server;
if (WSAStartup(MAKEWORD(2,2), &wsa)!=0)
cout << "Failed";
cout << "initialized";
if ((sa = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) == INVALID_SOCKET))
cout << "Could not create socket " << WSAGetLastError();
cout << "Socket created";
server.sin_addr.s_addr = inet_addr ("213.165.64.44");
server.sin_family = AF_INET;
server.sin_port = htons(7);
//connect
if (connect(sa, (struct sockaddr *)&server, sizeof(server)) < 0){
cerr << "connect error" << WSAGetLastError();
return 1;
}
cout << "connected";
return 0;
}
+1爲您的答案 - 我永遠不會看到如此密切的困擾。 -1爲OP問題的廢話調試技能 - 沒有讀取到本地的第一個套接字,以便它的返回值可以被檢查。對不起,OP,但本網站上顯示的調試技巧的水平是非常糟糕的,而且越來越差...... –
所以你告訴我,當你自己沒有發現它時,我的調試技巧不好。順便說一句,我沒有用wsagetlasterror查找錯誤代碼。我只是不知道是什麼造成了它。 –
你還會推薦什麼IDE?我目前正在使用code :: blocks,我應該改變IDE嗎? –