最简单的socket客户端与服务端例子

服务器端:

#include <iostream>
#include <WinSock2.h>
#pragma comment(lib, "ws2_32.lib")

void main()
{
	//1 初始化阶段
	WORD wVer;
	WSADATA wsaData;
	wVer = MAKEWORD(1,1);
	WSAStartup(wVer,&wsaData);
	//2 建立Socket
	SOCKET mySocket = socket(AF_INET,SOCK_STREAM,0);
	SOCKADDR_IN sockAddr;
	sockAddr.sin_family = AF_INET;
	sockAddr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
	sockAddr.sin_port =htons(6000);
	//3 绑定端口
	bind(mySocket,(SOCKADDR*)&sockAddr,sizeof(SOCKADDR));
	//4 监听
	listen(mySocket,5);
	//5 等待客户端
	SOCKADDR_IN sockInAddr;
	int len = sizeof(SOCKADDR);
	while (1)
	{
		printf("I'm watting for you.\n");
		SOCKET sockIn = accept(mySocket,(SOCKADDR*)&sockInAddr,&len);
		char buf[50];
		memset(buf,0,sizeof(buf));
		sprintf(buf,"Hello, %s .I'm your sever!",inet_ntoa(sockInAddr.sin_addr));
		send(sockIn,buf,strlen(buf)+1,0);
		char bufRecv[50];
		memset(bufRecv,0,sizeof(bufRecv));
		recv(sockIn,bufRecv,sizeof(bufRecv),0);
		printf(bufRecv);
	}
}
客户端:

#include <stdio.h>
#include <Winsock2.h>
#pragma comment(lib, "ws2_32.lib")
void main()
{
	//1 初始化阶段
	WORD wVersionRequested;    
	WSADATA wsaData;//WSAata用来存储系统传回的关于WinSocket的资料。    
	int err;        
	wVersionRequested = MAKEWORD( 1, 1 );        
	err = WSAStartup( wVersionRequested, &wsaData );    
	if ( err != 0 ) 
	{        
		return;    
	}        
	if ( LOBYTE( wsaData.wVersion ) != 1 ||HIBYTE( wsaData.wVersion ) != 1 )     
	{        
		WSACleanup( );        
		return;    
	} 
	//2 建立socket
	SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);// AF_INET ..tcp连接    //初始化连接与端口号    
	SOCKADDR_IN addrSrv;    
	addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//本机地址,服务器在本机开启    
	addrSrv.sin_family=AF_INET;    
	addrSrv.sin_port=htons(6000);// 设置端口号  
	//3 连接服务端
	connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));//连接服务器    
	char recvBuf[50];
	//4 接收数据
	if(recv(sockClient,recvBuf,50,0) == SOCKET_ERROR )//接受数据
	//发送数据
	send(sockClient,"hello",strlen("hello")+1,0);//发送数据    
	closesocket(sockClient);//关闭连接    
	WSACleanup();
	system("PAUSE");
} 


你可能感兴趣的:(socket,Stream,服务器,System,存储系统)