server.c
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<winsock2.h>
#include<windows.h>
#pragma comment(lib,"ws2_32.lib")
void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
SOCKET sockClient;
SOCKADDR_IN addrSrv;
char szBuffer[100];
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 )
{
WSACleanup();
return;
}
sockClient=socket(AF_INET,SOCK_STREAM,0);
addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);
connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
recv(sockClient,szBuffer,100,0);printf("%s",szBuffer);
send(sockClient,"this is zhang san",sizeof("this is zhang san")+1,0);
}
==================================================================================
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<winsock2.h>
#include<windows.h>
#pragma comment(lib,"ws2_32.lib")
void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
SOCKET sockSrv;
SOCKADDR_IN addrSrv;
SOCKADDR_IN addrConn;
int len;
wVersionRequested = MAKEWORD( 1,1 );
err = WSAStartup( wVersionRequested, &wsaData );
if(err!=0){
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ){
WSACleanup();
return;
}
sockSrv=socket(AF_INET,SOCK_STREAM,0);
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
listen(sockSrv,5);
// SOCKET sockClient;
len =sizeof(SOCKADDR);
while (1)
{
char szBuffer[100];
char szRecv[100];
SOCKET sockClient=accept(sockSrv,(SOCKADDR*)&addrConn,&len);
sprintf(szBuffer,"welcome %s to http://www.sunxin.org",inet_ntoa(addrConn.sin_addr));
send(sockClient,szBuffer,sizeof(szBuffer)+1,0);
recv(sockClient,szRecv,100,0);
printf("%s",szRecv);
}
}