www.pudn.com > tcpclient.rar > tcpclient.cpp


#include"Winsock.h" 
#include"windows.h" 
#include"stdio.h" 
#pragma comment(lib,"wsock32.lib") 
#define RECV_PORT 2000 
#define SEND_PORT 3000 
SOCKET sock; 
sockaddr_in ServerAddr; 
DWORD StartSock() 
{ 
	WSADATA WSAData; 
	if(WSAStartup(MAKEWORD(2,2),&WSAData)!=0) 
	{ 
		printf("sock init fail!\n"); 
		return -1; 
	} 
	ServerAddr.sin_family=AF_INET; 
    ServerAddr.sin_addr.s_addr =inet_addr("219.245.176.35"); 
	ServerAddr.sin_port=htons(RECV_PORT); 
	return 1; 
} 
 
DWORD CreateSocket() 
{ 
	sock=socket(AF_INET,SOCK_STREAM,0); 
	if((sock==SOCKET_ERROR)) 
	{ 
		printf("sock create fail"); 
	    WSACleanup(); 
		return -1; 
			} 
	return 1; 
} 
DWORD CallServer() 
{ 
	CreateSocket(); 
    if(connect(sock,(struct sockaddr*)&ServerAddr, 
		sizeof(ServerAddr))==SOCKET_ERROR) 
	{ 
		printf("connect fail\n"); 
		closesocket(sock); 
		return -1 ; 
	} 
	return 1; 
} 
  
DWORD TCPSend(char data[]) 
{ 
	int length; 
	length=send(sock,data,strlen(data),0); 
	if(length<=0) 
	{ 
		printf("send data error!\n"); 
		closesocket(sock); 
		WSACleanup(); 
		return -1; 
	} 
	return 1; 
} 
int main() 
{ 
	char buff[80]; 
	char buf[80]; 
	int num,i; 
	StartSock(); 
	while(CallServer()==-1); 
	printf("connect ok!\n"); 
	printf("press 'Enter' key to start!"); 
	getchar(); 
	for(;;) 
	{   
		printf("input the number of message to send:(0-exit)"); 
	    memset(buff,0,80); 
		scanf("%d",&num); 
		if(num<=0) break; 
        gets(buf); 
		for(i=1;i<=num;i++) 
		{    
		    printf("data%d    ",i); 
			gets(buf); 
			sprintf(buff,"data%d  %s  ",i,buf); 
            //sprintf(buff,"data%d    ",i); 
			//printf(buff); 
            //printf("data%d    ",i); 
			//printf("\n"); 
			TCPSend(buff); 
			Sleep(100); 
		}                                                                                                                                  
	} 
	return 0; 
}