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

建设通网站电话wordpress迁移数据

建设通网站电话,wordpress迁移数据,做下载类网站赚钱吗,wordpress 互动性最近在学习最基础的socket网络编程#xff0c;在Tcpserver开启多线程并发处理时遇到了一些问题#xff01; 说明 在linux以及Windows的共享文件夹进行编写的#xff0c;所以代码中有的部分使用 #ifdef WIN64 ... #else ... #endif 进入正题#xff01;#xff01;…最近在学习最基础的socket网络编程在Tcpserver开启多线程并发处理时遇到了一些问题 说明 在linux以及Windows的共享文件夹进行编写的所以代码中有的部分使用 #ifdef WIN64 ... #else ... #endif 进入正题 先来看看代码~ #include string.h #include stdlib.h #include stdio.h#ifdef _WIN64 #includewindows.h #define socklen_t int #else #include sys/types.h #include sys/socket.h #include unistd.h #include arpa/inet.h #define closesocket close //因为linux和Windows下不同所以定义了一个宏 #endif #include thread using namespace std; class TcpThread //建立一个线程类 { public:void Main() //入口函数{char buf[1024] { 0 };for (;;){int recvlen recv(client, buf, sizeof(buf) - 1, 0);if (recvlen 0) break;buf[recvlen] \0;//在结尾加\0if (strstr(buf, quit) ! NULL) {char re[] quit success\n;send(client, re, strlen(re) 1, 0);break;}int sendlen send(client, ok\n, 4, 0);printf(recv %s\n, buf);}closesocket(client); //关闭delete this;//要确保TcpThread 是new出来的}int client 0; };#includestdio.h int main( int argc, char *argv[]) { #ifdef WIN64WSADATA ws;WSAStartup(MAKEWORD(2, 2), ws); #endif // WIN64int socksocket(AF_INET, SOCK_STREAM, 0);if (sock -1){printf(create socket failed!\n);return -1;}printf([%d], sock);unsigned short port 8080;if (argc 1) //如果输入端口则使用输入的否则用8080{port atoi(argv[1]);//传递端口号}sockaddr_in saddr;saddr.sin_family AF_INET;saddr.sin_port htons(port);//小端转大端saddr.sin_addr.s_addr htonl(0);if (::bind(sock, (sockaddr*)saddr, sizeof(saddr)) ! 0){printf(bind port %d faild!\n, port);return -2;}else {printf(bind port %d success!\n, port);}listen(sock, 10);for (;;){sockaddr_in caddr;socklen_t len sizeof(caddr);int client accept(sock, (sockaddr* ) caddr, len);if (client 0) break;printf(accept client %d\n, client);char *ip inet_ntoa(caddr.sin_addr);unsigned short cport ntohs(caddr.sin_port);printf(client ip is %s,port is %d\n, ip, cport);TcpThread *th new TcpThread(); //new出来th-client client;//传入创建好的clientthread sth(TcpThread::Main, th);//启动线程sth.detach();//释放主线程拥有的子线程的资源}closesocket(sock); //#if WIN64 // closesocket(sock); // closesocket(client); //#else // close(sock); // close(sock); //#endif // WIN64return 0;}这时候直接在linux在make main会报错 这说明我们使用c11这里我们需要写一个makefile接着我们 vim makefile 在里面我们写如下代码 然后在make这里发现成功了然后./tcpserver尝试创建多个线程 在主线程发现成功了 用户开始连接就报错 这时候我们就要注意了是makefile里面缺少 -pthread; 接着在编译运行发现成功了 创建多线程进行测试 打开两个端口telnet 192.168.xxx.xxx 8081 连接成功如下 分别在两个里面发送消息1,2收到了回复 然后主线程收到消息表示成功了 注意 C是支持多线程但是需要注意以下三点 必须包含头文件#include 必须有编译选项-stdc11必须有编译选项-pthread否则运行出现Enable multithreading to use std::thread: Operation not permitted。同时-lpthread和-pthread一样但是建议使用-pthread。因为编译选项中指定 -pthread 会附加一个宏定义 -D_REENTRANT该宏会导致 libc 头文件选择那些thread-safe的实现链接选项中指定 -pthread 则同 -lpthread 一样只表示链接 POSIX thread 库。由于 libc 用于适应 thread-safe 的宏定义可能变化因此在编译和链接时都使用 -pthread 选项而不是传统的 -lpthread 能够保持向后兼容并提高命令行的一致性。 小白初次学习希望大佬们多多指教
http://www.w-s-a.com/news/452748/

相关文章:

  • 广安建设企业网站qq互联网站备案号
  • 京东网站建设的要求vs2010做的网站
  • wordpress 新闻杂志主题佛山企业网站排名优化
  • 选服务好的网站建设金华市开发区人才网
  • 广州建站商城南阳高质量建设大城市网站
  • 网站建设合同封面模板做代炼的网站
  • 外贸网站建站要多少钱南昌优化排名推广
  • 做公司网站的尺寸一般是多大企业管理网站
  • 苏州网站设计公司兴田德润i简介做签证宾馆订单用啥网站
  • 网站页面设计工具做网站租空间
  • 做智能网站系统百度提交入口
  • 网站建设代理商电话网站规划和建设方案
  • 双桥区网站制作seo 首页
  • 电子商务网站建设前期准备wordpress域名指向二级目录
  • 汕头建站网站模板淮北做网站电话
  • 手机做logo用什么网站服务器安全防护
  • 课程分销的网站怎么做北京企业网站建设方案
  • 吴兴区建设局网站湖北企业网站建设
  • 网页与网站的区别是什么2023年8月份新冠
  • 唐山网站建设外包公司安卓手机怎么搭建网页
  • 国内做网站最大的公司计量检测网站平台建设方案
  • 重庆沛宣网站建设网页制作初学者
  • php网站漂浮广告代码网络营销跟网站推广有啥区别
  • wordpress调用图片优化型网站建设的基本要求
  • 郑州模板网站建设策划公司做网站怎么赚钱滑县电
  • 东昌府聊城网站优化秦皇岛市妇幼保健院
  • 做网站能赚钱吗网页升级访问通知天天更新
  • 做网站使用什么软件的免费招聘网
  • 宁波网站建设公司推荐哪家淄博网站制作公司服务
  • 做网站网页挣钱不免费主题wordpress