用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

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      五月丁香合缴情在线看视频免费 | 亚洲AⅤ鲁丝一区二区三区 日韩欧美综合一区二区 | 亚洲精品国产首次亮相在线 | 在线观看国产一区二三区 | 五月天网站在线观看 | 亚洲欧美高清精品一区二区 |