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

响应式网站弊端网址管理系统

响应式网站弊端,网址管理系统,ngrok做网站服务器,网页制作工具按其制作方式有一、铺垫 1.以下只是告诉诸位怎样去构建服务器与客户端#xff1b;客户端这样构建肯定没问题#xff1b;但是服务端不可能这样写#xff0c;因为他是布置在Linux上的#xff0c;纯数据类处理服务器#xff0c;根本不可能用Qt写#xff1b;这在Qt的http类中就表明了…一、铺垫 1.以下只是告诉诸位怎样去构建服务器与客户端客户端这样构建肯定没问题但是服务端不可能这样写因为他是布置在Linux上的纯数据类处理服务器根本不可能用Qt写这在Qt的http类中就表明了 2.如果客户端不加密和没穿衣服裸奔是一样的加密我感觉才只是穿了条裤衩最起码在奔跑的时候还有点遮挡到了浴池都要脱(只要学过Linux网络编程上网感觉就是在裸奔)所以这种方式只能存在于开源项目或者其他一些项目Tcp的传输是按照字节流的粘包问题也需要程序员去搞定问题还是蛮多的 3.Qt不需要Linux的多线程来解决一次只能处理一个链接的问题但是在多路转接上真实省了太多的脑细胞而且可以设置定时器来把超时的连接关掉真是牛 二、服务端 this-setWindowTitle(服务器);//1.修改窗口标题 QTcpServer* tcpServernew QTcpServer(this);//2.创建实例 //3.信号和槽函数连接——当有新链接连上之时会自动调用函数connect(tcpServer,QTcpServer::newConnection,this,Widget::processConnection); //4.绑定并监听端口号 //这个操作是最后一步//绑定并监听 if(!tcpServer-listen(QHostAddress::Any,9090)){         QMessageBox::information(this,网络提示,tcpServer-errorString()绑定监听IP地址和端口号失败);exit(1);} } void Widget::processConnection() { //1.通过tcpServer拿到一个socket对象通过这个对象来和客户端进行通信 //当有连接进来之时创建一个服务socketlinux来说是一个套接字 //peerAddress——对端地址客户端地址 QTcpSocket* clientSocket tcpServer-nextPendingConnection(); QString log [clientSocket-peerAddress().toString():\                 QString::number(clientSocket-peerPort())]客户端上线; ui-listWidget-addItem(log); //2.通过信号槽来处理客户端发来的请求的情况——使用lamda表达式来写 connect(clientSocket,QTcpSocket::readyRead,this,[]() { //1)读取请求数据;此处readAll 返回的是QByteArray 通过赋值转成QString QString request clientSocket-readAll(); //2) 根据请求处理响应——此处是回显就不做处理 const QString response request; //3)把响应写回客户端 clientSocket-write(response.toUtf8()); //4)把上述信息记录到日志中 QString log [clientSocket-peerAddress().toString():\                 QString::number(clientSocket-peerPort())] req:\requestresp: response; ui-listWidget-addItem(log); }); //3.通过信号槽处理客户端断开连接的情况connect(clientSocket,QTcpSocket::disconnected,this,[](){//1)把断开连接的信息通过日志显示出来QString log [clientSocket-peerAddress().toString():\        QString::number(clientSocket-peerPort())]客户端下线;ui-listWidget-addItem(log); //2)手动释放clientSocket——随着服务器的运行客户端越来越多如果不是释放此时累积的clientSocket也会越来越多文件描述符泄露内存泄漏 //告诉QT在下一轮事件循环中再进行上述的销毁操作 clientSocket-deleteLater();});} 三、客户端 //1.设置窗口标题 this-setWindowTitle(客户端); //2.创建socket对象实例 socket new QTcpSocket(this); //3.和服务器建立连接调用这个函数此时系统内核就会和对方的服务器进行三次握手 //此处这个函数不会阻塞等待三此握手完毕~(非阻塞函数); //原生linux API一般来说都是默认阻塞I/O通信的此时必须要进行阻塞操作 socket-connectToHost(127.0.0.1,9090); //4.连接信号槽去处理响应 connect(socket,QTcpSocket::readyRead,this,[](){ //读取出响应内容QString response socket-readAll();ui-listWidget-addItem(服务器说 response); }); //5.等待连接建立的结果确认是否连接成功 bool ret socket-waitForConnected();//阻塞函数判定是否建立连接成功 if(!ret){QMessageBox::critical(this,连接服务器出错,socket-errorString());exit(1); } void Widget::on_pushButton_clicked() {//1.获取输入框中的内容const QString textui-lineEdit-text();//2.发送数据给服务器socket-write(text.toUtf8());//3.把发的消息显示到界面上ui-listWidget-addItem(客户端说text);//4.清空输入框的内容ui-lineEdit-setText(); }
http://www.w-s-a.com/news/928798/

相关文章:

  • 国外搜索网站建设支付网站备案
  • 合肥建站公司有哪家招聘的拼车平台网站开发
  • 网站 备案 固话北京建站模板企业
  • 网站开发的公司wordpress分类目录 模版
  • flashfxp怎么上传对应网站空间wordpress无法创建
  • 建设网站案例分析做网站代理怎么赚钱
  • 唯品会网站建设特色域名备案期间 网站访问
  • 郑东新区建设局网站怎么做万网网站
  • 阿里云上传的网站 服务器路径试用网站开发
  • 做美食原创视频网站网站开发要多钱
  • 怎么做网站作业哪个网站可兼职做logo
  • asp网站搭建教程做网站备案完成之后需要干什么
  • 无锡外贸网站开发兰州网站在哪备案
  • 广州百度网站建设公司天津建设电工证查询网站
  • 网站建设与管理行业发展情况制作网页动态效果
  • wordpress 特色缩略图临沂seo全网营销
  • 隆昌市住房和城乡建设厅网站做网站用什么字体比较好
  • 惠州网站建设设计18款未成年禁用软件ap入口
  • 班级网站 建设目标如何做好网站建设内容的策划书
  • 网站建设与网页设计期末考试清博舆情系统
  • plone网站开发商城网站建设怎么收费
  • 旺旺号查询网站怎么做公司门户网站项目模版
  • 网站免费一站二站四站上海网站怎么备案表
  • 漫画交流网站怎么做开发微信小程序公司
  • 网站建设马鞍山怎么建立局域网网站
  • 开源 网站开发框架哪些网站可以做图片链接
  • 大良制作网站网站设计的能力要求
  • 前端设计除了做网站还能做什么江苏高校品牌专业建设工程网站
  • 做二手房产网站多少钱用户权限配置wordpress
  • 做亚马逊网站需要租办公室吗小型企业网站模板