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

时间:2020-11-21 17:40:06 笔试题目 我要投稿

用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

【用C或者C++语言实现SOCKET通信】相关文章:

用C++编写程序实现向右循环移位12-13

用C语言实现文件读写操作11-23

C++/Cli语言语法08-20

概述C++语言特点08-17

C++语言的基本符号08-20

c++程序语言特点08-17

C++语言的基本语法规则08-20

C++语言工作简历模板免费下载08-31

c++语言求职简历模板免费下载08-23