用C或者C++语言实现SOCKET通信

用C或者C++语言实现SOCKET通信

  #include

  #include

  void main()

  {

  WORDwVersionRequested;

  WSADATA wsaData;

  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;

  }

  SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);

  SOCKADDR_IN addrSrv;

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

  SOCKADDR_IN addrClient;

  int len=sizeof(SOCKADDR);

  while(1)

  {

  SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);

  char sendBuf[100];

  sprint(sendBuf,”Welcome %s to http://www.sunxin.org“,

  inet_ntoa(addrClient.sin_addr));

  send(sockConn,sendBuf,strlen(sendBuf)+1,0);

  char recvBuf[100]

;

  recv(sockConn,recvBuf);

  printf(“%s\n”,recvBuf);

  closesocket(sockConn);

  WSACleanup();

  }

  }

  注:这是Server端;File->New->Win32 Console Application,工程名:TcpSrv;然后,File->New->C++ Source File,文件名:TcpSrv;在该工程的`Setting的Link的Object/library modules项要加入ws2_32.lib

  #include

  #include

  void main()

  {

  WORDwVersionRequested;

  WSADATA wsaData;

  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;

  }

  SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);

  SOCKADDR_IN addrSrv;

  addrSrv.sin_addr.S_un.S_addr=inet_addr(“127.0.0.1″);

  addrSrv.sin_family=AF_INET;

  addrSrv.sin_porthtons(6000);

  connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));

  char recvBuf[100];

  recv(sockClient,recvBuf,100,0);

  printf(“%s\n”,recvBuf);

  send(sockClient,”This is zhangsan”,strlen(“This is zhangsan”)+1,0);

  closesocket(sockClient);

  WSACleanup();

  }

  注:这是Client端;File->New->Win32 Console Application,工程名:TcpClient;然后,File->New->C++ Source File,文件名:TcpClient;同理,在该工程的Setting的Link的Object/library modules项要加入ws2_32.lib

相关文章

315消费者权益日主题

一年一度的3.15国际消费者权益日来临之际,一起来到驻马店市天中广场,进行了消费者权益普法宣传活动。下面是小编收集整理的2017年315消费者权益日主题,欢迎阅读参考!!随着购物方式的多元化,作为消费...
资料大全2016-08-06
315消费者权益日主题

保证书怎么写给老师

写保证其实就是看的态度,本文是YJBYS小编为大家整理的保证书怎么写给老师100字,仅供参考借鉴,希望可以帮助到大家,关于保证书怎么写给老师100字。保证书怎么写给老师100字一尊敬的...
资料大全2014-09-02
保证书怎么写给老师

个人所得税率表完整

近几年,很多人都抱怨工资扣税越来越高?真的有这么回事吗?对于劳动者的工资收入,如果达到国家规定的缴纳工资税的标准,那么超出的部分就是要根据相关税率缴纳个人所得税的。下面是CN人才网为大家整理的2017...
资料大全2012-06-01
个人所得税率表完整

小学生逐梦路上优秀征文

无论在学习、工作或是生活中,大家最不陌生的就是征文了吧,征文一般都具有精彩的开头,给人耳目一新的感觉。那么你有了解过征文吗?以下是小编收集整理的小学生逐梦路上优秀征文,仅供参考,希望能够帮助到大家。 ...
资料大全2019-08-03
小学生逐梦路上优秀征文

湖北推动12315维权站全覆盖

推进消费维权服务站在重点领域的全覆盖,是湖北省工商局开展12315消费维权网络“五进”(进商?⒔小⒔谐 ⒔笠怠⒔扒?,促进消费纠纷从源头解决的又一重要举措。今年1月至10月,全省工商系统已与...
资料大全2014-05-05
湖北推动12315维权站全覆盖

面试财务人员可以提的问题及答案

很多人说,职场如战场,确实,特别是会计行业里面,精英更是无数,要想在会计职场谋求一席之地,面试技巧十分重要,如下是中国人才网给大家整理的面试财务人员可以提的问题及答案,希望对大家有所作用。1、你认为一...
资料大全2013-03-05
面试财务人员可以提的问题及答案