Win32 socket 编程
#define BUF_SIZE 128
#include <iostream>
#include<WinSock2.h>
#include <WS2tcpip.h>
using namespace std;
#pragma comment(lib, "WS2_32.lib")
int main()
{
WSADATA wsd;
SOCKET sSocket;
SOCKADDR_IN servAddr;
char buf[BUF_SIZE];
int retVal;
if(WSAStartup(MAKEWORD(2,2),&wsd)!=0)
{
printf("WSAStartup failed\n");
return -1;
}
sSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(INVALID_SOCKET==sSocket){
printf("socker failed\n");
WSACleanup();
return -1;
}
servAddr.sin_family=AF_INET;
servAddr.sin_addr.s_addr=inet_addr("127.0.0.1");
servAddr.sin_port=htons((short)54545);
int nServAddrLen=sizeof(servAddr);
retVal=connect(sSocket,(LPSOCKADDR)&servAddr,nServAddrLen);
if(SOCKET_ERROR==retVal){
printf("connect failed\n");
closesocket(sSocket);
WSACleanup();
return -1;
}
ZeroMemory(buf,BUF_SIZE);
strcpy(buf,"hello server");
retVal=send(sSocket,buf,BUF_SIZE,0);
if(SOCKET_ERROR==retVal){
printf("send failed");
}
return 0;
}