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

有哪里可以做兼职翻译的网站济南建设厅官方网站

有哪里可以做兼职翻译的网站,济南建设厅官方网站,做区位分析底图的网站,昆明网站建设哪个公司好目录 0.概述1.UDP Socket1.核心API概览2.回显服务器3.回显客户端 0.概述 要使用Qt中有关网络编程的API#xff0c;需要添加network模块 1.UDP Socket 1.核心API概览 主要的类有两个#xff1a;QUdpSocket和QNetworkDatagramQUdpSocket表⽰⼀个UDP的socket⽂件 bind(const … 目录 0.概述1.UDP Socket1.核心API概览2.回显服务器3.回显客户端 0.概述 要使用Qt中有关网络编程的API需要添加network模块 1.UDP Socket 1.核心API概览 主要的类有两个QUdpSocket和QNetworkDatagramQUdpSocket表⽰⼀个UDP的socket⽂件 bind(const QHostAddress, quint16)绑定指定的端口号 成员方法对应原生APIbind() receiveDatagram()返回QNetworkDatagram读取⼀个UDP数据报 成员方法对应原生APIrecvfrom() writeDatagram(const QNetworkDatagram)发送⼀个UDP数据报 成员方法对应原生APIsendto() readyRead()在收到数据并准备就绪后触发 信号类似于IO多路复用的通知机制 QNetworkDatagram表⽰⼀个UDP数据报 QNetworkDatagram(const QByteArray, const QHostAddress, quint16) 通过QByteArray⽬标IP地址⽬标端⼝号构造⼀个UDP数据报通常⽤于发送数据时 data()获取数据报内部持有的数据返回QByteArraysenderAddress()获取数据报中包含的对端的IP地址senderPort()获取数据报中包含的对端的端⼝号 2.回显服务器 ⼀般来说要先连接信号槽再绑定端⼝ 如果顺序反过来可能会出现端⼝绑定好了之后请求就过来了此时还没来得及连接信号槽那么这个请求就有可能错过了 示例// 构造函数中 {socket new QUdpSocket(this);connect(socket, QUdpSocket::readyRead, this, Widget::ProcessRequest);// 绑定端口号.if (!socket-bind(QHostAddress::Any, 2333)){// 绑定失败!QMessageBox::critical(this, 服务器启动出错, socket-errorString());return;} }void Widget::ProcessRequest() {// 1. 读取请求并解析.const QNetworkDatagram req socket-receiveDatagram();QString request req.data();// 2. 根据请求计算响应const QString response Process(request);// 3. 把响应写回给客户端.QNetworkDatagram resp(response.toUtf8(), req.senderAddress(),req.senderPort());socket-writeDatagram(resp);// 把这次交互的信息, 显示到界面上.QString log [ req.senderAddress().toString() : QString::number(req.senderPort()) ] req: request , resp: response;ui-listWidget-addItem(log); }QString Widget::Process(const QString request) {return request; }3.回显客户端 // 构造函数中 {socket new QUdpSocket(this);// 通过信号槽, 来处理服务器返回的数据.connect(socket, QUdpSocket::readyRead, this, Widget::ProcessResponse); }void Widget::on_pushButton_clicked() {// 1. 获取到输入框的内容const QString text ui-lineEdit-text();// 2. 构造 UDP 的请求数据QNetworkDatagram req(text.toUtf8(), QHostAddress(SERVER_IP), SERVER_PORT);// 3. 发送请求数据socket-writeDatagram(req);// 4. 把发送的请求也添加到列表框中.ui-listWidget-addItem(客户端说: text);// 5. 把输入框的内容也清空一下.ui-lineEdit-setText(); }// 通过这个函数来处理收到的响应 void Widget::ProcessResponse() {// 1. 读取到响应数据const QNetworkDatagram resp socket-receiveDatagram();QString response resp.data();// 2. 把响应数据显示到界面上.ui-listWidget-addItem(服务器说: response); }
http://www.hkea.cn/news/14575602/

相关文章:

  • 成都企业建站公司在线咨询wordpress无限绑域名
  • wordpress文章右边自定义字段wordpress插件dx seo
  • 餐饮公司做网站的好处北京百度推广公司
  • php网站 更改logo外贸退税流程及方法
  • 小辣椒网站开发互联网外包公司值得去吗
  • 运城住房和建设局网站网站开发销售话术
  • j网站开发的相关知识滨河网站建设
  • 做网站怎么买服务器吗直播发布会
  • 外包做的网站淄博seo开发
  • app推广平台网站seo公司是做什么的
  • 单位怎样做网站网站seo评测
  • 重庆专业网站推广上海工作室
  • 网站定位要点 有哪些方面优秀的网站建设
  • 企业网站建设可行性分析任务手机网站Com
  • 头条网站怎么做的无锡网站建设制作设计
  • 自设计网站建设阿里巴巴网站首页
  • 网站网络推广优化知乎建站平台
  • 免费网站建站27735个制造企业电子商务网站
  • 巩义网络建设网站什么是网络营销的主要职能之一
  • 广东的网站建设案例wordpress 批量建站
  • 如何分析网站关键词东营百度推广电话
  • 广州手机网站建设哪家好全网营销案例
  • 成品网站1688入口网站图片做cdn
  • wordpress开户多站点有没有做gif的专门网站
  • 南昌网站建设收费盐城公司做网站
  • 旅游网站建设前期分析手机seo网站推广
  • 自己做的网站怎么弄到网上企业网站项目的流程
  • 企业如何找网络公司做网站中卫市住房建设局网站
  • 原创 网站 源码无锡集团网站建设
  • 电子商务网站设计与规划模板网站和定制网站的区别是什么