VC++编程技术:vc++实现的tcpsocket客户端和服务端示例
小职 2018-07-05 来源 : 阅读 2115 评论 0

摘要:本文主要向大家介绍了VC++编程技术:vc++实现的tcpsocket客户端和服务端示例,通过具体的内容向大家展示,希望对大家学习VC++编程技术有所帮助。

本文主要向大家介绍了VC++编程技术:vc++实现的tcpsocket客户端和服务端示例,通过具体的内容向大家展示,希望对大家学习VC++编程技术有所帮助。

Tcp Server

复制代码代码如下:

#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
复制代码代码如下:

#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();
}

以上就介绍了VC/MFC的学习,希望对VC/MFC有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言VC/MFC频道!

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved