加载套接字库出现有关问题
加载套接字库出现问题
#include<iostream>
#include<stdio.h>
#pragma comment(lib,"ws2_32.lib")
using namespace std;
int main(){
//加载winsock库
WSAData wsadata;
int err;
err=WSAStartup(MAKEWORD(1,1),&wsadata);
if(err!=0);
return -1;
//创建一个新的套接字来监听客户机连接
SOCKET ListenSocket;
ListenSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
//用bind将socketaddr地址与套接字绑定起来
SOCKADDR_IN ServerAddr;
int port=5150;
ServerAddr.sin_family=AF_INET;
ServerAddr.sin_port=htonl(port);
ServerAddr.sin_addr.s_addr=htonl(INADDR_ANY);
bind(ListenSocket,(SOCKADDR *)&ServerAddr,sizeof(SOCKADDR));
//监听客户机连接
listen(ListenSocket,5);
//接受新连接
SOCKET NewConnection;
SOCKADDR_IN ClientAddr;
//接收数据
char rebuff[100];
while(1){
NewConnection=accept(ListenSocket,(SOCKADDR *)&ClientAddr,(int *)sizeof(ClientAddr));
recv(NewConnection,rebuff,100,0);
cout<<rebuff<<endl;
}
closesocket(NewConnection);
closesocket(ListenSocket);
//释放资源
WSACleanup();
return 0;
}
返回值为-1
------解决方案--------------------
错了, 用这个WSAGetLastError
#include<iostream>
#include<stdio.h>
#pragma comment(lib,"ws2_32.lib")
using namespace std;
int main(){
//加载winsock库
WSAData wsadata;
int err;
err=WSAStartup(MAKEWORD(1,1),&wsadata);
if(err!=0);
return -1;
//创建一个新的套接字来监听客户机连接
SOCKET ListenSocket;
ListenSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
//用bind将socketaddr地址与套接字绑定起来
SOCKADDR_IN ServerAddr;
int port=5150;
ServerAddr.sin_family=AF_INET;
ServerAddr.sin_port=htonl(port);
ServerAddr.sin_addr.s_addr=htonl(INADDR_ANY);
bind(ListenSocket,(SOCKADDR *)&ServerAddr,sizeof(SOCKADDR));
//监听客户机连接
listen(ListenSocket,5);
//接受新连接
SOCKET NewConnection;
SOCKADDR_IN ClientAddr;
//接收数据
char rebuff[100];
while(1){
NewConnection=accept(ListenSocket,(SOCKADDR *)&ClientAddr,(int *)sizeof(ClientAddr));
recv(NewConnection,rebuff,100,0);
cout<<rebuff<<endl;
}
closesocket(NewConnection);
closesocket(ListenSocket);
//释放资源
WSACleanup();
return 0;
}
返回值为-1
------解决方案--------------------
错了, 用这个WSAGetLastError