无题
Python中的Socket编程,全掌握!
1、为什么使用SocketsSockets 是组成当今网络的各种通信协议,这些协议使得在两个不同的程序或设备之间传输信息成为可能。例如,当我们打开浏览器时,我们作为客户机就会创建与服务器的连接以传输信息。
各种形式的IPC,Socket是目前最流行的。在任何给定的平台上,其他形式的工控机可能更快,但对于跨平台通信来说,Socket是唯一的游戏。
它们是作为Unix的BSD风格的一部分在伯克利发明的。它们如此火爆有很好的理由——Socket和iNet(IPV4)的结合使得与世界各地的任意机器通信变得非常容易。
2、什么是SocketsSocket是进程间通信的一种方式,简称“套接字”,应用程序通常通过”套接字”向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。
Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页、QQ 聊天、收发 email 等等。要解决网络上两台主机之间的 ...
无题
Qt 应用程序打包1、简述打包工具:Windows使用windeployqt,Ubuntu使用linuxdeployqt(linuxdeployqt xxx可执行文件 -appimage)。
步骤:使用windeployqt将exe所依赖的库文件找出来,然后使用Enigma Virtual Box将所有文件打包成一个exe。
如果是未打包的exe,那么普通用户无法直接运行程序的,我们有qt运行环境的,只需要将库路径添加到环境变量就可以了:
2、使用windeployqt工具将exe所有依赖的库找出来
需要使用的windeployqt是跟编译exe的同一个套件
【1】打开编译器
【2】在命令行去到要打包exe的目录(可以将exe先单独复制出来)
【3】使用windeployqt找到exe所有依赖库
windeployqt xxx.exe (xxx.exe是要打包的程序)
【4】找到所依赖库后已经可以运行程序了
3、使用Enigma Virtual Box将库文件和exe程序打包成一个exe【1】下载Enigma Virtual BoxSo ...
无题
C++ protected用法1、基类成员在派生类中访问权限不得高于继承方式中指定的权限。例如,当继承方式为protected时,那么基类成员在派生类中的访问权限最高也为protected,高于protected的会降级为protected,但低于protected不会升级。再如,当继承方式为public时,那么基类成员在派生类中的访问权限将保持不变。
2、也就是说,继承方式中的public、protected、private是用来指明基类成员在派生类中的最高访问权限的。
3、不管继承方式如何,基类中的private成员在派生类中始终不能使用(不能在派生类的成员函数中访问或调用)。
4、如果希望基类的成员能够被派生类继承并且毫无障碍的使用,那么这些成员只能声明为public或protected;只有那些不希望在派生类中使用的成员才声明为private。
5、如果希望基类的成员既不向外暴露(不能通过对象访问),还能再派生类中使用,那么只能声明为protected。
注意,我们这里说的是基类的private成员不能在派生类中使用,并没有说基类的private成员不能被继承。实际上,基类的p ...
无题
Windows10命令行测试连接Tcp / Ip协议的服务1、首先确认cmd中是否有telnet命令,如出现以下提示则表示电脑未安装telnet
2、telnet开启方式
3、打开CMD输入以下命令123telnet IP 端口 #连接serverCTRL+] #进入输入界面send 内容 #发送字符串
无题
快速入门MicroPython开发ESP321、快速入门MicroPython开发ESP32 - roinxxX - 博客园 (cnblogs.com)
2、ESP32与MicroPython入门-01 搭建开发环境 - 冰封残烛 - 博客园 (cnblogs.com)
4、(109条消息) 【MicroPython】用ESP32学Python_GEEK.攻城狮的博客-CSDN博客_esp32支持python吗
3、Python教程 - 廖雪峰的官方网站 (liaoxuefeng.com)
无题
Python中 if name == ‘__main__‘的详细讲解及Python中的命名规则1、if name == ‘main‘: 是干啥的?先给出结论,对该语句用法简单的解释就是: 如果if __name__ == '__main__' 所在模块是被直接运行的,则该语句下代码块被运行,如果所在模块是被导入到其他的python脚本中运行的,则该语句下代码块不被运行。
2、程序入口的理解对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等。其中C 和 C++ 都需要有一个 main 函数来作为程序的入口,也就是程序的运行会从 main 函数开始。同样的,Java 和 C# 则必须要有一个包含 Main 方法的主类来作为程序入口。
但和C,C++、Java 以及 C# 等有所不同的是,Python属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,python是动态的逐行解释运行,也就是从脚本第一行开始运行,没有统一的入口。
另外我们知道,python文件有两种使用方法:
第一种:直接作为脚本执 ...
git切换分支及git项目流程中常用命令
git克隆下来只有master分支的问题,git切换分支及git项目流程中常用命令1、git克隆下来只有master分支,切换其他分支【1】当我们使用 git clone + 远程仓库地址将项目下载下来之后,倘若远程仓库有多个分支,我们在本地使用git branch查看本地分支时,只有一个master分支。1234$ git branch会出现:* master
【2】大多数我们需要在其他分支就行工作的,所以我们需要将远程其他分支拉下来才行,首先使用git branch -a查看远程分支,那些以rmotes开头且为红色的都是远程分支,或者理解为这些分支是隐藏的。123456789$ git branch -a* master remotes/origin/HEAD -> origin/master remotes/origin/develop remotes/origin/feature remotes/origin/feature-im remotes/origin/master remotes/origin/newbranch
【3】如 ...
无题
在linux系统下中.sh文件无法执行的问题及解决方法1、问题背景在写了shell脚本1.sh文件后,想要执行该脚本,结果提示我权限不够。
然后我就加上了管理员权限,其实这里提示的并不是管理员权限不够,而是这个shell脚本并没有执行的权限。
结果提示我找不到命令,但是我使用ls查看后,发现1.sh文件存在。
2、解决方案一:系统GUI中设置首先我们在文件夹下找到该文件,我的1.sh文件所在目录为:/home/wjie/file/work/:
这个时候,我们右击该文件,点击属性,打开权限,勾选允许作为程序执行文件:
然后再回到终端,执行sudo ./1.sh,发现可以执行了:
3、解决方案二:命令给与权限此文件本身就是因为没有执行权限因此无法执行,这里我们可以直接在终端给该shell脚本添加上可执行权限,代码为chmod +x 1.sh:
如上,执行命令后shell脚本就可以执行了。
Python3初级教程
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220 ...
无题
Qt解析XML文件1、简介QtXML模块提供了一个读写XML文件的流,解析方法包含DOM和SAX。
DOM(Document ObjectModel):将XML文件表示为一棵树,便于随机访问其中的节点,但消耗内存相对多一些。
SAX(Simple APIfor XML):一种事件驱动的XML API,接近于底层,速度较快,但不便于随机访问任意节点。
使用XML模块,在.pro文件中添加QT += xml,并加入相应的头文件#include <QDocument>或者#include <QXmlStreamReader>
2、详解QXmlStream常用到的函数含义:
导入一个xml文件或字符串的方式:
12345678910//方式一QXmlStreamReader reader(sXMLContent);//字符串的xml //方式二QXmlStreamReader reader;reader.addData(sXMLContent);//要解析的字符串 //方式三QFile f("./test/xml);reader.setDe ...