当前位置: 首页 > news >正文

网站程序0daywordpress 英文改中文

网站程序0day,wordpress 英文改中文,温州市城市基础设施建设网站,什么软件做美食视频网站好前面文章,介绍了一个简单socket通讯Demo, 客户端和服务器进行简单的交互。两个代码都很简单,如果情况一复杂,就会出错。这节我们把代码完善一下,实现一个客户端输入,发送,服务器echo的交互。本文…

前面文章,介绍了一个简单socket通讯Demo, 客户端和服务器进行简单的交互。两个代码都很简单,如果情况一复杂,就会出错。这节我们把代码完善一下,实现一个客户端输入,发送,服务器echo的交互。本文介绍客户端代码修改。

客户端其他函数修改同服务器端,可以看上一篇文章。

当服务器启动需要时间时, connect可能需要等待:

    int i = 60; //timeout, 60s.while (i){if (connect(sock, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR)) == 0){break;}else{Sleep(1000);    //1s.--i;}}if (i == 0){std::cout << "connect error." << std::endl;closesocket(sock);sock = INVALID_SOCKET;return;}

这里等1分钟,如果服务器还是没起来,就退出了。

客户端的整个代码如下:

#include <iostream>
#include <WinSock2.h>
#include <WS2tcpip.h>
#include <string>
#pragma comment(lib, "ws2_32.lib")#define SOCKET_ADDR "127.0.0.1"
#define SOCKET_PORT 1234void runSocketClient()
{SOCKET sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);if (sock == INVALID_SOCKET){std::cout << "socket error." << std::endl;return;}struct sockaddr_in sockAddr;sockAddr.sin_family = PF_INET;inet_pton(AF_INET, SOCKET_ADDR, &sockAddr.sin_addr.s_addr);sockAddr.sin_port = htons(SOCKET_PORT);int i = 60; //timeout, 60s.while (i){if (connect(sock, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR)) == 0){break;}else{Sleep(1000);    //1s.--i;}}if (i == 0){std::cout << "connect error." << std::endl;closesocket(sock);sock = INVALID_SOCKET;return;}int ret = 0;char szBuffer[MAXBYTE] = { 0 };ret = recv(sock, szBuffer, MAXBYTE, NULL);if (ret == 0){std::cout << "recv == 0." << std::endl;closesocket(sock);sock = INVALID_SOCKET;return;}else{std::cout << szBuffer << std::endl;}while (1){memset(szBuffer, 0, MAXBYTE);std::string line;std::getline(std::cin, line);if (line.size() > MAXBYTE-1) {line = line.substr(0, MAXBYTE-1);}strncpy_s(szBuffer, line.c_str(), MAXBYTE);if (strncmp(szBuffer, "exit", MAXBYTE) == 0){break;}ret = send(sock, szBuffer, strlen(szBuffer) + sizeof(char), NULL);if (ret != strlen(szBuffer) + sizeof(char)){std::cout << "send error." << std::endl;continue;}else{std::cout << "send:" << szBuffer << std::endl;}memset(szBuffer, 0, MAXBYTE);ret = recv(sock, szBuffer, MAXBYTE, NULL);if (ret == 0){std::cout << "recv == 0." << std::endl;closesocket(sock);sock = INVALID_SOCKET;break;}else{std::cout << "recv:" << szBuffer << std::endl;}}if (sock != INVALID_SOCKET){closesocket(sock);sock = INVALID_SOCKET;}
}int main()
{WSADATA wsaData;WSAStartup(MAKEWORD(2, 2), &wsaData);runSocketClient();WSACleanup();return 0;
}

客户端测试:

connected.
hello
send:hello
recv:hello
123456
send:123456
recv:123456
exit

http://www.yayakq.cn/news/211815/

相关文章:

  • 工厂网站建设费用永久免费微信小程序商城
  • 郑州网站外包成都房地产信息查询平台
  • 婚纱摄影建设网站的目的电商网平台
  • 如何建设一个电商网站网站在政务新媒体建设方案
  • 南昌网站建设是什么玉林seo
  • 怎么做脱机网站网上书店电子商务网站建设
  • 有经验的高密网站建设南昌公司做网站需要多少钱
  • 班级网站建设规划书包河网站建设
  • 17网站一起做网店打不开企业管理培训课程价格表
  • 广州站西手表顺德新网站制作
  • discuz论坛门户网站模板徐州云龙区建设局网站
  • 处方药可以做网站宣传吗新项目开发流程
  • wordpress文章采集助手家庭优化大师下载
  • 网站设计怎么做背景颜色网站忧化是干什么的
  • 做素食香料哪个网站买做游戏的php网站有哪些
  • 代理网站备案表网站分析对比
  • 深圳微网站建设android开发平台
  • php网站后台怎么登陆wordpress火车头接口
  • 宁波网站制作工作室编程是什么课程内容
  • 电商类网站建设价格适合用dedecms做的网站
  • 软件开发费和网站建设wordpress流量统计放在哪里
  • 专科网站开发就业方向千博企业网站管理系统2013
  • 网站开发简述电子插件加工厂生产线
  • 广西网站建设推广wordpress资讯类主题破解版
  • 谷歌没收录网站主页 301重定向电子商务网站建设与管理实验目的
  • 电脑可以做服务器部署网站吗大连网页制作培训学校
  • 湖北省建设厅的网站销售公司简介模板
  • 济南专业网站开发公司网络广告营销方案策划
  • 网站做支付要多少钱怎样分析一个网站做的好坏
  • 青岛城市建设局网站wordpress评论内容不显示