socket小问题求解
检查一下居然返回了-1...好奇怪...怎么解决?????
#include <iostream>#include <winsock2.h>#pragma comment(lib, "WSOCK32.lib")using namespace std;#define Post 5266int main(){ int ID_1, ID_2; ID_1 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); cout << "Socket ID: " << ID_1 << endl; //为什么这里返回了-1???? return 0;}#include <iostream>#include <winsock2.h>#pragma comment(lib, "WSOCK32.lib")using namespace std;#define Post 5266int main(){ int ID_1, ID_2; if((ID_1 = socket(AF_INET, SOCK_STREAM, 0)) < 0) { cout << "Socket error!" << endl; exit(1); } else { cout << "Socket ID: " << ID_1; } struct sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_port = Post; addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY); if((bind(ID_1, (struct sockaddr *)&addr, sizeof(struct sockaddr))) < 0) { cout << "Socket bind error" << endl; exit(1); } else { cout << "PORT: " << Post << endl; } if((listen(ID_1, 5)) < 0) { cout << "listen error" << endl; exit(1); } else { cout << "Listenning..." << endl; } int temp = sizeof(struct sockaddr_in); if((ID_2 = accept(ID_1, (struct sockaddr *)&addr, &temp)) < 0) { cout << "Link error" << endl; } else { cout << "New socket id: " << ID_2 << endl; } return 0;}