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

WordPress站内链接设置wordpress批量分类

WordPress站内链接设置,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/777702/

相关文章:

  • 扬州公司做网站公司中国建设银行网站包头分行
  • 宝塔面板怎么做网站seo案例模板
  • 网站背景全屏什么是网站建设与优化
  • 大学生创新创业网站开发全自动精准引流软件
  • tcga做多因素分析的网站aso优化
  • 龙岩网络三大巨头网站内部优化有哪些内容
  • 大连工程建设信息网站宁波seo关键词优化案例
  • 河北人工智能建站系统软件四川省住房和城乡建设厅门户网站
  • wordpress主题编辑器网站的内链优化策略
  • 上海定制网站建设公司哪家好万网域名官网
  • 电子商务网站建设利益分析重庆地方标准查询
  • 网站公司成本域名服务器有哪几种
  • 网站建设合同交印花税么网站正在建设中 代码
  • 四川省建设三类职称网站导入视频生成3d动画
  • 如何自己建设淘宝网站东莞网络优化调查公司
  • 建设银行信用卡申请网站做彩票网站空间去哪买
  • 杭州做美妆的网站wordpress点开文章显示空白页
  • 广州网站搭建快速提升网站排名动漫设计与制作专业怎么样
  • 用虚拟机做服务器搭建网站企业信用信息查询公示系统官网
  • 自建网站避免侵权wordpress 推荐位调用
  • 厦门工程网站建设新颖的公司名字大全
  • 网站建设公司墨子网络网站开发要多钱
  • 电子政务网站系统中国纪检监察报单国平
  • 网站开发和游戏开发的区别seo推广方案怎么做
  • 建设工程规范发布网站潜江资讯网免费发布信息
  • 保定网站制作哪家好建设免费代理网页
  • 怎么提升网站打开速度相城网站建设
  • 网站建设公司浙江华企仿快递网站源码
  • 学做会计账的网站google图片搜索
  • 网站建设规划书范文5000字网页游戏app排行榜