源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

vc++实现的tcp socket客户端和服务端示例

  • 时间:2022-04-05 04:33 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:vc++实现的tcp socket客户端和服务端示例
Tcp Server
[u]复制代码[/u] 代码如下:
#include <WinSock2.h> #include <stdio.h> #pragma comment(lib, "ws2_32.lib") int main() {  // initial socket library  WORD wVerisonRequested;  WSADATA wsaData;  int err;  wVerisonRequested = MAKEWORD(1, 1);  err = WSAStartup(wVerisonRequested, &wsaData);  if (err != 0)  {   return -1;  }  //if (LOBYTE(wsaData.wVersion) != 1 ||  // HIBYTE(wsaData.wHighVersion) != 1)  //{  // WSACleanup();  // return -1;  //}  // create socket  SOCKET sockServer = socket(AF_INET, SOCK_STREAM, 0);  // bind socket  SOCKADDR_IN addrServer;  addrServer.sin_addr.S_un.S_addr = htonl(INADDR_ANY);  addrServer.sin_family = AF_INET;  addrServer.sin_port = htons(6000);  bind(sockServer, (SOCKADDR *)&addrServer, sizeof(addrServer));  // listen  listen(sockServer, 5);  SOCKADDR_IN addrClient;  int len = sizeof(addrClient);  while(1)  {   // accept   SOCKET sockConnection = accept(sockServer, (SOCKADDR *)&addrClient, &len);   // send   char sendBuf[100];   sprintf(sendBuf, "Welcome %s", inet_ntoa(addrClient.sin_addr));   send(sockConnection, sendBuf, strlen(sendBuf)+1,0);   // receive   char recvBuf[100];   recv(sockConnection, recvBuf, 100, 0);   //   printf("%s", recvBuf);   // close connection socket   closesocket(sockConnection);  } }
Tcp Client
[u]复制代码[/u] 代码如下:
#include <WinSock2.h> #include <stdio.h> #pragma comment(lib, "ws2_32.lib") int main() {  // initial socket library  WORD wVerisonRequested;  WSADATA wsaData;  int err;  wVerisonRequested = MAKEWORD(1, 1);  err = WSAStartup(wVerisonRequested, &wsaData);  if (err != 0)  {   return -1;  }  //if (LOBYTE(wsaData.wVersion) != 1 ||  // HIBYTE(wsaData.wHighVersion) != 1)  //{  // WSACleanup();  // return -1;  //}  // create socket  SOCKET sockClient = socket(AF_INET, SOCK_STREAM, 0);  // connect server socket  SOCKADDR_IN addrServer;  addrServer.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");  addrServer.sin_family = AF_INET;  addrServer.sin_port = htons(6000);  connect(sockClient, (SOCKADDR *)&addrServer, sizeof(addrServer));  // receive  char recvBuf[100];  recv(sockClient, recvBuf, 100, 0);  //  printf("%s", recvBuf);  // send  char sendBuf[100] = "this is lisi\n";  send(sockClient, sendBuf, strlen(sendBuf)+1,0);  // close connection socket  closesocket(sockClient);  // clean socket library  WSACleanup(); }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部