
网络编程
文章平均质量分 76
沙振宇
将来的你一定会感谢现在奋斗的你。当你的才华还撑不起你的野心时,那你就应该静下心来学习。
展开
-
【Qt 学习之路】使用 cmake 在Windows上 编译 ZeroMQ
前几篇文章讲述了ZeroMQ是什么、网络通信,和如何在Qt上使用现成的ZeroMQ的库,本篇文章中主要讲述如何使用 cmake在 Windows上编译ZeroMQ。下载和安装这里不讲了,在之前的文章中讲述的已经很详细了,想了解的可以看以下相关资料。相关资料:链接地址链接地址。原创 2024-02-28 18:37:27 · 1988 阅读 · 0 评论 -
【网络编程】ZeroMQ的网络通信
在前一篇文章中提到了 ØMQ (ZeroMQ) ,是一个基于消息队列的多线程网络库,它封装了网络通信、消息队列、线程调度等功能,向上层提供简洁的API,应用程序通过加载库文件,调用API函数来实现高性能网络通信。本篇文章重点讲述下,在客户端上如何使用 ZeroMQ 与 服务端的 ZeroMQ 进行通信,主要讲述两种常用模式:1.Request-Reply(请求响应模式)2.Publish-Subscribe(订阅-发布模式)消息双向的,有来有往。原创 2024-02-18 10:04:46 · 1408 阅读 · 0 评论 -
【Qt 学习之路】在 Qt 使用 ZeroMQ
今天是大年初一,先给大家拜个年,祝各位阖家欢乐,身体安康,万事如意。言归正传,最近调研了很多消息中间件,推荐一款比较好用的中间件 ZeroMQ,今天也把在 Qt 上如何使用 ZeroMQ 分享下。ZeroMQ是一种基于消息队列的多线程网络库,其对套接字类型、连接处理、帧、甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字。ZeroMQ是网络通信中新的一层,介于应用层和传输层之间(按照TCP/IP划分),其是一个可伸缩层,可并行运行,分散在分布式系统间。原创 2024-02-10 17:31:05 · 3009 阅读 · 1 评论 -
【网络编程】点对点的通信方式
全双工通信允许数据同时在两个方向上传输,又称为双向同时通信,即通信的双方可以同时发送和接收数据。全双工方式无需进行方向的切换,因此,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利。在单工通信中,通信的信道是单向的,发送端与接收端也是固定的,即发送端只能发送信息,不能接收信息;在半双工模式下,每个站都可以发送和接收,但不能同时进行。例如:手持对讲机是日常生活中最为常见的一种半双工通信方式,手持对讲机的双方可以互相通信,但在同一个时刻,只能由一方在讲话。原创 2017-03-27 18:12:52 · 15436 阅读 · 1 评论 -
【网络编程】抓包工具Fiddler和Wireshark介绍及对比
在测试中,经常需要验证发送的消息是否正确,或者在出现问题的时候,查看手机客户端发送给server端的包内容是否正确,就需要用到抓包工具,而且我们手机客户端和server端通讯比较常用的是http方式,所以针对其通讯特点,常用的抓包工具有Fiddler、Wireshark这两种,下面分别介绍下两个抓包工具的用法。Fiddler官网:http://fiddler2.com/当启动fiddler,程序将原创 2018-01-19 09:34:12 · 5985 阅读 · 1 评论 -
【Qt 学习之路】QSerialPort处理串口通信
QSerialPort提供了访问串口的接口函数。使用辅助类QSerialPortInfo可以获取可用的串口信息。将QSerialPortInfo辅助类对象做为参数,使用setPort()或setPortName()函数可以设置要访问的串口设备。设置好端口后,可以使用open()函数以只读、只写或读写的模式打开使用。注意,串口使用独占方式打开。使用close()函数关闭串口并且取消IO操作。串口成功打开后,QSerialPort会尝试确定串口的当前配置并初始化。原创 2017-05-05 14:01:18 · 10478 阅读 · 1 评论 -
【Qt 学习之路】Qt解析XML的2种方法
第一步,在pro文件中添加所需的xml。原创 2016-10-13 11:01:34 · 4672 阅读 · 1 评论 -
【Qt 学习之路】QUdpSocket发送与接收消息
QUdpSocket(通信套接字),UDP(User Datagram Protocol,用户数据报协议)UDP是一个轻量级、不可靠、面向数据报的、无连接的协议,多用于可靠性要求不严格,不是非常重要的传输。QUdpSocket类继承自QAbstractSocket,用来发送和接收UDP数据报,”Socket”即套接字,套接字即IP地址+端口号。其中IP地址指定了网络中的一台主机,二端口号则指定了该主机上的一个网络程序,使用套接字即可实现网络上的两个应用程序之间的通信。原创 2016-12-07 17:58:32 · 10858 阅读 · 5 评论 -
【Qt 学习之路】Qt的http下载的Demo
先看一下效果:1、先建立需要引用的处理数据头文件toolfuction.h:#ifndef TOOLFUCTION_H#define TOOLFUCTION_H#include // 字节转KB、MB、GBQString toolSize(qint64 bytes){ QString strUnit; double dSize = bytes *原创 2017-07-28 10:45:06 · 46122 阅读 · 4 评论 -
【Qt 学习之路】使用容联SDK
一、容联SDK如何使用A、收费标准(公有云走网络的都是免费的) 语音会议提供一个房间最大支持32方 视频会议提供一个房间最大支持30方(免费的弊端:1、会议名称是可被使用容联SDK的所有人看到(不过可以通过加密方式避免其他人加入,加密后其他人只能看到名及人数)2、容联管理员可以直接删除这个会议。)B、引入外接库:ECsdk.dll原创 2016-12-02 16:14:41 · 1936 阅读 · 1 评论 -
【Qt 学习之路】QTcpSocket发送图片(或大文件)Demo
先看一下效果:思路:发图片、大文件与发短字符不大一样。1、文件和图片通过TCP可能一次发不过去,可能要发很多次。所以我们在发送文件、数据、以及文字最好带上文件的大小。2、图片转换成文件流的形式,这个Demo是转成base64加密流核心代码:1、tcp客户端与服务端的代码这里就不贴了,以前贴过,可以看我以前的帖子。这里贴一下思路代码:发送图片端:原创 2017-10-20 16:07:03 · 11423 阅读 · 1 评论 -
【Qt 学习之路】Qt如何获取外网IP地址
直接调用就行:returnOutIP();这个方法返回的就是外网IP了~引用头:#include <QNetworkAccessManager>#include <QNetworkReply>#include <QNetworkRequest>#include <QEventLoop>调用:QString TcpSever::returnOutIP(...原创 2018-02-10 23:25:26 · 4148 阅读 · 1 评论 -
【Qt 学习之路】QTcpSocket客户端/服务端互发字符串Demo
最近又遇到tcp问题,发现知识不用忘得好快!于是做了一个简单的demo。先看下运行效果:代码我已经上传到优快云:http://download.youkuaiyun.com/detail/u014597198/9689618Github地址:https://github.com/ShaShiDiZhuanLan/Demo_TcpSocket_Qt码云地址:http...原创 2016-11-22 11:32:34 · 3667 阅读 · 1 评论 -
【Qt 学习之路】QWebEngineView的使用示例
有小伙伴想实现左键点击直接进入下一页的功能,本身QWebengineView已经自己做了,我们只需要重载它写的方法就行了,可以看QWebengineView的源码。再说Webkit的网络层、UI层用的是自己的,bug比较多,比如内存泄露、web兼容性等。Qt慢慢淘汰了古老的Webkit ,用WebEngine框架代替掉了。Webengine与webkit不同的是它是基于Chromium引擎的,也就是集成谷歌的引擎。以下代码是做了一个简单的返回按钮,还有点小问题,有时间再修正,只是个思路。原创 2016-10-13 11:35:24 · 60172 阅读 · 104 评论 -
【Qt 学习之路】QML打开指定网址
讲述两种方式:1、在Text的text中加入的链接(HTML)在QML中的Text中,让部分或者全部文字加载一个链接怎么搞,如下图:在text属性设置链接之后,再在她的onLinkActivated:中加入openUrlExternally(link)此时的link是自动加亮变斜体的既然Text的text属性中可以嵌入HTML,那么我们是否可以类推其他控件呢?...原创 2016-09-05 09:01:25 · 4820 阅读 · 1 评论 -
【操作系统】CentOS上利用Tomcat部署网站示例
服务器版本:CentOS 7.3 64JDK:jdk-8u161-linux-x64.tar.gzServer-JRE:jre-8u161-linux-x64.tar.gzTomcat(Apache下开源的轻量级应用服务器):Apache-tomcat-8.5.29JDK下载地址:http://www.oracle.com/technetwork/java/javase/...原创 2018-03-22 13:19:55 · 19943 阅读 · 6 评论 -
【操作系统】Tomcat下Server.xml配置详解
使用tomcat有几年了,只知道修改tomcat端口,但是并没有深入的去了解tomcat端口的实际意义。在网上找了相关资料,深入了解了下各个端口的实际意义,具体如下注释说明<Server port="8005" shutdown="SHUTDOWN"> <!-- 属性说明 port:指定一个端口,这个端口负责监听关闭Tomcat的请求 shutdown...原创 2018-03-23 09:50:02 · 839 阅读 · 1 评论 -
【Web】html+css+js实现post简易聊天室
因为项目需求,就做了一个简易的聊天室,用户输入一句话,通过http-post请求简单的回复一些信息给用户。文中的url是内网的ip地址,你们可以换成你们的url地址。先设置好参数,参数作用:通过Words.innerHTML的形式,将产生的回复信息< div >标签插入到聊天框种,并把输入框置空,然后把滑动条滑动到最下面。就完成了一个简单的聊天。读者可自行修改样式,把这个简易的聊天室做的更完美。原创 2018-10-10 11:32:33 · 16427 阅读 · 3 评论 -
【Go】Go开发支持平滑升级(优雅重启)的HTTP服务
Golang开发支持平滑升级(优雅重启)的HTTP服务前段时间用Golang在做一个HTTP的接口,因编译型语言的特性,修改了代码需要重新编译可执行文件,关闭正在运行的老程序,并启动新程序。对于访问量较大的面向用户的产品,关闭、重启的过程中势必会出现无法访问的情况,从而影响用户体验。使用Golang的系统包开发HTTP服务,是无法支持平滑升级(优雅重启)的,本文将探讨如何解决该问题。原创 2018-10-29 12:52:07 · 2293 阅读 · 1 评论 -
【网络编程】微服务是怎么一回事
在介绍微服务时,首先得先理解什么是微服务,顾名思义,微服务得从两个方面去理解,什么是"微"、什么是"服务", 微 狭义来讲就是体积小、著名的"2 pizza 团队"很好的诠释了这一解释(2 pizza 团队最早是亚马逊 CEO Bezos提出来的,意思是说单个服务的设计,所有参与人从设计、开发、测试、运维所有人加起来 只需要2个披萨就够了 )。而所谓服务,一定要区别于系统,服务一个或者一组相对较小且独立的功能单元,是用户可以感知最小功能集。原创 2018-11-21 18:09:53 · 536 阅读 · 1 评论 -
【Python】 Python3用Tornado实现get或post请求示例
近日,有小伙伴咨询python是如何快速封装API接口的问题。原创 2018-11-26 15:09:55 · 7587 阅读 · 3 评论 -
【Python】Django、Flask、Tornado的框架性能分析
本文仅关注目前最常用的三大 Python 框架:Django、 Flask 以及 Tornado。原创 2019-02-28 11:56:06 · 3411 阅读 · 1 评论 -
【网络编程】网络7层协议,4层,5层?理清容易混淆的几个概念
7层是指OSI七层协议模型,主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。5层只是OSI和TCP/IP的综合,是业界产生出来的非官方协议模型,但是很多具体的应用。五层体系结构包括:应用层、运输层、网络层、数据链路层和物理层。4层是指TCP/IP四层模型,主要包括:应用层、运输层、网际层和网络接口层。原创 2019-04-17 11:12:41 · 778 阅读 · 1 评论 -
【Web】HTML通过JS调用HTTP
最近在搞爬虫抓包,抓到的东西只是后台展示太不方便了。于是就写了一些前端的js代码,通过HTTP协议与后台通信,然后把内容展现出来。以前写过这方面前端的代码,但每次用时又总是忘记,所以这次把它记录下来。本文只是举个最简单的get请求示例,供大家参考。原创 2019-04-24 16:41:14 · 12339 阅读 · 4 评论 -
【转载】Kafka、RabbitMQ、RocketMQ等 消息中间件 介绍和对比
在分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。MQ,Message queue,消息队列,就是指保存消息的一个容器。具体的定义这里就不类似于数据库、缓存等,用来保存数据的。当然,与数据库、缓存等产品比较,也有自己一些特点,具体的特点后文会做详细的介绍。转载 2019-09-05 18:20:01 · 20098 阅读 · 8 评论 -
【转载】彻底理解cookie,session,token
2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记住哪些人登录系统, 哪些人往自己的购物车中放商品, 也就是说我必须把每个人区分开,这就是一个不小的挑战,因为HTTP请求是无状态的,所以想出的办法就是给大家发一个会话标识(session id), 说白了就是一个随机的字串,每个人收到的都不一样, 每次大家向我发起HTTP请求的时候,把这个字符串给一并捎过来, 这样我就能区分开谁是谁了。如果访问服务器多了, 就得由成千上万,甚至几十万个。转载 2019-12-19 15:25:14 · 5284 阅读 · 0 评论 -
【Python】Python3 使用 Websocket 示例
最近又回顾了下Websocket,发现已经忘的七七八八了。于是用js写了客户端,用python写了服务端,来复习一下这方面的知识。原创 2020-01-14 18:24:19 · 13062 阅读 · 0 评论 -
【Go】单端口转发到多个端口
运维和我提到这个需求的时候,我先是一愣,第一时间想到的是nginx,然后运维说nginx没有这个功能……于是用了,上述这个包,写程序调用一下即可。原创 2020-05-22 11:37:32 · 2858 阅读 · 1 评论 -
【网络编程】CentOS安装NodeJS并开启http-server
这里没有被占用,可以进行下一步。http-server的路径。刚刚nodejs安装路径。可以看到已经正常开启!原创 2022-07-26 05:44:34 · 1127 阅读 · 1 评论 -
【Qt 学习之路】QWidget 和 QtQuick(QML) 写网页
压缩比率1-9,设置压缩比率,最小为1,处理速度快,传输速度慢;这里表示压缩级别,可以是0到9中的任一个,级别越高,压缩就越小,节省了带宽资源,但同时也消耗CPU资源,所以一般折中为6。最后我们看Kits下面的Qt5.15.2 WebAssembly 的 编译器,已经 自动选择 了编译器Compiler下的1.39.7版本的C、C++编译环境,点击确认我们环境已经装好了。打开Qt的选项配置:设备 > WebAssembly,然后“浏览”选择你电脑的emsdk路径,点击确认后,重启QtCreator。原创 2021-08-06 23:31:08 · 6358 阅读 · 5 评论 -
【Qt 学习之路】Qt5.9使用Qt4的QFTP全过程
文章目录1、简介2、下载并编译Qt4的库2.1 编译准备2.1.1 修改“qtftp-master\src\qftp”下的“qftp.pro”文件2.1.2 修改“qtftp-master\src\qftp”下的“qftp.h”文件2.2 编译3、应用编译好的库3.1 引用3.1.1 拷贝静态库到 lib 下3.1.2 拷贝动态库到 bin 下3.1.3 拷贝头文件到 QtNetwork 下3.2...原创 2019-04-30 21:29:54 · 19043 阅读 · 20 评论