亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

Windows下C++服務端和客戶端Socket通信簡單代碼

2019-11-08 00:48:14
字體:
來源:轉載
供稿:網友
[cpp] view plain copy<PRe name="code" class="cpp">// Client.cpp : Defines the entry point for the console application.  //  #include "stdafx.h"  #include "winsock2.h"  #include <iostream>  #pragma comment(lib, "ws2_32.lib")  using namespace std;  BOOL    RecvLine(SOCKET s, char* buf);  //讀取一行數據  int main(int argc, char* argv[])  {      const int BUF_SIZE = 64;      WSADATA         wsd;            //WSADATA變量      SOCKET          sHost;          //服務器套接字      SOCKADDR_IN     servAddr;       //服務器地址      char            buf[BUF_SIZE];  //接收數據緩沖區      char            bufRecv[BUF_SIZE];      int             retVal;         //返回值            //初始化套結字動態庫      if (WSAStartup(MAKEWord(2,2), &wsd) != 0)      {          cout << "WSAStartup failed!" << endl;          return -1;      }            //創建套接字      sHost = socket(AF_INET, SOCK_STREAM, ipPROTO_TCP);        if(INVALID_SOCKET == sHost)      {          cout << "socket failed!" << endl;          WSACleanup();//釋放套接字資源          return  -1;      }      //設置服務器地址      servAddr.sin_family =AF_INET;      servAddr.sin_addr.s_addr = inet_addr("127.0.0.1");      servAddr.sin_port = htons((short)4999);      int nServAddlen  = sizeof(servAddr);      //連接服務器      retVal=connect(sHost,(LPSOCKADDR)&servAddr, sizeof(servAddr));        if(SOCKET_ERROR == retVal)      {          cout << "connect failed!" << endl;            closesocket(sHost); //關閉套接字          WSACleanup();       //釋放套接字資源          return -1;      }      while(true){          //向服務器發送數據          ZeroMemory(buf, BUF_SIZE);          cout << " 向服務器發送數據:  ";          cin >> buf;          retVal = send(sHost, buf, strlen(buf), 0);          if (SOCKET_ERROR == retVal)          {              cout << "send failed!" << endl;              closesocket(sHost); //關閉套接字              WSACleanup();       //釋放套接字資源              return -1;          }          //RecvLine(sHost, bufRecv);          recv(sHost, bufRecv,5 , 0);     // 接收服務器端的數據, 只接收5個字符          cout << endl <<"從服務器接收數據:" << bufRecv;      }      //退出      closesocket(sHost); //關閉套接字      WSACleanup();       //釋放套接字資源      return 0;  }  [cpp] view plain copy// Server.cpp : Defines the entry point for the console application.  //  #include "stdafx.h"  #include "winsock2.h"  #pragma comment(lib, "ws2_32.lib")  #include <iostream>  using namespace std;  int _tmain(int argc, char* argv[])  {   const int BUF_SIZE = 64;   WSADATA     wsd;    //WSADATA變量   SOCKET  sServer;    //服務器套接字   SOCKET  sClient;    //客戶端套接字   SOCKADDR_IN     addrServ;;  //服務器地址   char    buf[BUF_SIZE]; //接收數據緩沖區   char    sendBuf[BUF_SIZE];//返回給客戶端得數據   int     retVal;     //返回值   //初始化套結字動態庫   if (WSAStartup(MAKEWORD(2,2), &wsd) != 0)   {    cout << "WSAStartup failed!" << endl;    return 1;   }         //創建套接字   sServer = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);    if(INVALID_SOCKET == sServer)   {    cout << "socket failed!" << endl;    WSACleanup();//釋放套接字資源;    return -1;   }         //服務器套接字地址    addrServ.sin_family = AF_INET;   addrServ.sin_port = htons(4999);   addrServ.sin_addr.s_addr = INADDR_ANY;     //綁定套接字   retVal = bind(sServer, (LPSOCKADDR)&addrServ, sizeof(SOCKADDR_IN));   if(SOCKET_ERROR == retVal)   {     cout << "bind failed!" << endl;    closesocket(sServer); //關閉套接字    WSACleanup();  //釋放套接字資源;    return -1;   }         //開始監聽    retVal = listen(sServer, 1);   if(SOCKET_ERROR == retVal)   {    cout << "listen failed!" << endl;      closesocket(sServer); //關閉套接字    WSACleanup();  //釋放套接字資源;    return -1;   }         //接受客戶端請求   sockaddr_in addrClient;   int addrClientlen = sizeof(addrClient);   sClient = accept(sServer,(sockaddr FAR*)&addrClient, &addrClientlen);   if(INVALID_SOCKET == sClient)   {    cout << "accept failed!" << endl;      closesocket(sServer); //關閉套接字    WSACleanup();  //釋放套接字資源;    return -1;   }         while(true){    //接收客戶端數據    ZeroMemory(buf, BUF_SIZE);    retVal = recv(sClient, buf, BUF_SIZE, 0);    if (SOCKET_ERROR == retVal)    {     cout << "recv failed!" << endl;       closesocket(sServer);    //關閉套接字     closesocket(sClient);    //關閉套接字       WSACleanup();     //釋放套接字資源;     return -1;    }    if(buf[0] == '0')     break;    cout << "客戶端發送的數據: " << buf <<endl;        cout << "向客戶端發送數據: " ;    cin >> sendBuf;        send(sClient, sendBuf, strlen(sendBuf), 0);   }         //退出   closesocket(sServer);  //關閉套接字   closesocket(sClient);  //關閉套接字   WSACleanup();   //釋放套接字資源;         return 0;  }  
上一篇:c++讀書簡記

下一篇:protobuf C++ 使用示例

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91香蕉电影院| 欧美日韩一区二区三区| 国产精品自在线| 中文字幕日韩av| 91精品国产777在线观看| 成人免费视频xnxx.com| 亚洲精品视频播放| 久久久久久国产精品三级玉女聊斋| 中国china体内裑精亚洲片| 国产一区私人高清影院| 精品久久久精品| 日韩小视频网址| 国产成人精品免费久久久久| 久久九九精品99国产精品| 视频在线观看一区二区| 日本国产精品视频| 视频一区视频二区国产精品| 国产精品久久久久福利| 国产精品久久久久久久久久久久| 久久久免费观看视频| 色哟哟网站入口亚洲精品| 欧美日韩国产精品| 亚洲精品视频二区| 国产精品久久久久9999| 韩国一区二区电影| 日韩av最新在线观看| 国产精品直播网红| 亚洲视频在线免费看| 日本久久久久久久| 午夜精品福利电影| 欧美中文字幕第一页| 久久综合久中文字幕青草| 国产日韩精品电影| 亚洲风情亚aⅴ在线发布| 在线激情影院一区| 国产精品成人aaaaa网站| 欧美一区二区色| 亚洲男人天堂手机在线| 一本色道久久综合狠狠躁篇的优点| 亚洲自拍偷拍色片视频| 久久免费视频在线| 国产精品免费一区豆花| 在线看日韩av| 91在线观看免费高清完整版在线观看| 日韩综合视频在线观看| 欧美老肥婆性猛交视频| 国产亚洲精品久久久久久| 国产日韩欧美中文在线播放| 亚洲女人被黑人巨大进入| 日韩亚洲第一页| 亚洲人成在线免费观看| www.欧美免费| 欧美性20hd另类| 久久国产一区二区三区| 久久久久日韩精品久久久男男| 成人a级免费视频| 欧美日韩另类字幕中文| 国产69精品久久久久99| 国产精品一二区| 国产精品wwwwww| 亚洲精品福利在线观看| 欧美精品久久久久久久久久| 欧美高清视频一区二区| 97免费在线视频| 精品国产一区二区三区久久久狼| 国产欧美精品日韩| 精品成人乱色一区二区| 久久夜色撩人精品| 国产精品视频在线播放| 成人h片在线播放免费网站| 亚洲xxxx在线| 98精品在线视频| 日韩最新中文字幕电影免费看| 欧美视频在线观看免费网址| 亚洲va国产va天堂va久久| 午夜美女久久久久爽久久| 欧美午夜精品伦理| 国产精品美女主播在线观看纯欲| 欧美性猛交xxxx乱大交蜜桃| 亚洲欧洲国产一区| 欧美日韩xxx| 不卡伊人av在线播放| zzijzzij亚洲日本成熟少妇| 欧美—级a级欧美特级ar全黄| 日韩精品视频在线播放| 亚洲色图第一页| 日韩欧美在线视频观看| 欧美高清电影在线看| 国产精品一区二区av影院萌芽| 欧美国产激情18| 97在线视频免费播放| 欧美成人免费视频| 日本精品免费观看| 青青在线视频一区二区三区| 91大神在线播放精品| 2021久久精品国产99国产精品| 久久理论片午夜琪琪电影网| 成人黄色生活片| 一夜七次郎国产精品亚洲| 欧日韩不卡在线视频| 97免费视频在线| 久久视频免费在线播放| 日韩精品中文字幕在线播放| 97久久超碰福利国产精品…| 国产成人精品在线| 久久久久国产精品一区| 国产日韩欧美日韩大片| 欧美肥老妇视频| 97在线视频免费| 亚洲第一免费网站| 欧美日韩亚洲视频| 一区二区中文字幕| 国产午夜精品久久久| 欧美成人精品h版在线观看| 久久久亚洲影院| 国内精品小视频在线观看| 国产97色在线|日韩| 国产亚洲欧美另类中文| 国产午夜精品久久久| 国产一区二区美女视频| 国产视频精品一区二区三区| 成人a在线视频| 欧美日韩在线视频首页| 欧美电影第一页| 91夜夜未满十八勿入爽爽影院| 中文字幕v亚洲ⅴv天堂| 国产精品香蕉在线观看| 午夜精品久久久久久久久久久久| 97在线视频免费播放| 福利二区91精品bt7086| 精品视频在线导航| 久久91超碰青草是什么| 91香蕉嫩草影院入口| 欧美黑人又粗大| 日韩免费电影在线观看| 亚洲图片在区色| www.日韩不卡电影av| 亚洲美女www午夜| 国产精品综合久久久| 国产精品久久久久久久久久99| 中文字幕在线看视频国产欧美| 亚洲va男人天堂| 日韩欧美精品免费在线| 亚洲精品在线看| 国产精品91久久久久久| 国产极品精品在线观看| 疯狂做受xxxx高潮欧美日本| 日韩在线观看电影| 欧美体内谢she精2性欧美| 久久综合亚洲社区| 国产成人精品在线观看| 国内精品视频在线| 国产精品稀缺呦系列在线| 亚洲国产婷婷香蕉久久久久久| 日韩小视频在线| 国产精品久久视频| 亚洲三级av在线| 日韩一级黄色av| 欧美重口另类videos人妖| 91精品国产高清久久久久久| 欧美乱大交做爰xxxⅹ性3| 成人精品久久一区二区三区| 欧美视频13p| 国产不卡精品视男人的天堂|