C基础网络编程(能用CL编译)

来源:互联网 发布:python linix开发工具 编辑:程序博客网 时间:2024/06/02 08:32

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);
   }
}

 

 

原创粉丝点击