- 论坛徽章:
- 5
|
报错提示:errorcode:10038 (在一个非套接字上尝试了一个操作),不知什么原因?
- #include <WINSOCK.h>
- int main(int argc, char* argv[]) {
- int iResult;
- SOCKET MySocket=INVALID_SOCKET;
- struct sockaddr_in MyAddr;
- WSADATA wsaData;
- char *DATA="it's good."; //initialization socket
- iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
- if (iResult != 0) {
- printf("WSAStartup failed: %d\n", iResult);
- return 1;
- }
- if((MySocket=socket(AF_INET,SOCK_STREAM,0)==INVALID_SOCKET))
- {
- printf("socket error, lasterror: %d\n",WSAGetLastError());
- return 1;
- } //connect socket
- memset((void*)&MyAddr,0,sizeof(MyAddr));
- MyAddr.sin_family=AF_INET;
- MyAddr.sin_port=htons(5000);
- MyAddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//服务器的IP:127.0.0.1
- if(connect(MySocket,(struct sockaddr *)&MyAddr,sizeof(struct sockaddr))==SOCKET_ERROR)
- {
-
- printf("connect error ,lasterror :%d\n",WSAGetLastError());// 报错errorcode:10038
- getch(); exit(1);
- } //send data to server
- if(send(MySocket,DATA,sizeof(DATA),0)<0)
- perror("sending on stream socket");
- closesocket(MySocket);
- getch();
- return 0;
- }
复制代码 |
|