大家好,我是皮皮。前言Socket又称为套接字,它是所有网络通信的基础。网络通信其实就是进程间的通信,Socket主要是使用IP地址,协议,端口号来标识一个进程。端口号的范围为0~65535(用户端口号一般大于1024),协议有很多种,一般我们经常用到的就是TCP,IP,UDP。下面我们来详细了解下Socket吧。一、导入Socket模块因为要操作套接字,所 …
文章教程
166. 有时候需要暂时停止某个控件发射信号(比如下拉框combobox添加数据的时候会触发当前元素改变信号),有多种处理,推荐用 blockSignals 方法。```cpp方法1:先 disconnect 掉信号,处理好以后再 connect 信号,缺点很明显,很傻,如果信号很多,每个型号都要这么来一次。disconnect(ui->cbox, S …
一:项目内容本项目使用C++实现一个具备服务器端和客户端即时通信且具有私聊功能的聊天室。目的是学习C++网络开发的基本概念,同时也可以熟悉下Linux下的C++程序编译和简单MakeFile编写二:需求分析这个聊天室主要有两个程序:1.服务端:能够接受新的客户连接,并将每个客户端发来的信息,广播给对应的目标客户端。2.客户端:能够连接服务器,并向服务器发送消 …
QT之TCP通信QT中可以通过TCP协议让服务器和客户端之间行通信。所以下面我就围绕服务器和客户端来写。这是我们写服务器和客户端的具体流程:A、服务器:1.创建QTcpServer对象 2.启动服务器(监听)调用成员方法listen(QHostAddress::Any,端口号) 3.当有客户端链接时候会发送newConnection信号,触发槽函数接受链接( …
与朋友争执一个话题:由于socket的accept函数在有客户端连接的时候产生了新的socket用于服务该客户端,那么,这个新的socket到底有没有占用一个新的端口?讨论完后,才发现,自己虽然熟悉socket的编程套路,但是却并不是那么清楚socket的原理,今天就趁这个机会,把有关socket编程的几个疑问给搞清楚吧。先给出一个典型的TCPIP通信示意图 …
数据包发送宏观视角从宏观上看,一个数据包从用户程序到达硬件网卡的整个过程如下:1、使用系统调用(如 sendto,sendmsg 等)写数据2、数据分段socket顶部,进入socket协议族(protocol family)系统3、协议族处理:数据跨越协议层,这一过程(在许多情况下)转变数据(数据)转换成数据包(packet)4、数据传输路由层,这会涉及路 …
网络IO作为网络编程核心基础知识,是所有程序员都需要理解掌握的,最近小伙伴在星球群里对这些基本概念理解比较混乱,大多数人可能都没有认真深入去理解过这些基础概念,之前我直播时候说过:内功深厚其实就是对这些基础概念的理解深度,我们学习和工作都是在不断加深对这些基础知识的理解。四个相关概念:同步(Synchronous)异步( Asynchronous)阻塞( B …
问题缘由老师,在了解了FANUC工业机器人的外围设备接口之后,如果我还想对工业机器人进行二次开发,除使用IO通信方式外,还有没有什么其他的方式呢?懒猫答疑当然有!IO通信方式是最为简单的一种机器人与外围设备通信的方式,很多视觉系统都是基于IO方式通信实现的,但工业中还有很多网络通信协议,其中以太网通信就是常见的一种。在之前的课程中已经讲解了FANUC工业机器 …
本文将从上层介绍Linux上的TCPIP栈是如何工作的,特别是socket系统调用和内核数据结构的交互、内核和实际网络的交互。写这篇文章的部分原因是解释监听队列溢出(listen queue overflow)是如何工作的,因为它与我工作中一直在研究的一个问题相关。建好的连接怎么工作先从建好的连接开始介绍,稍后将解释新建连接是如何工作的。内核管理的每一个TC …
网络编程必须了解的基本概念MAC地址:是全球唯一标示的网络接口,每一个网卡接口、交换机接口、路由器接口的mac地址均不相同。mac地址是通信子网内部相互通信的标识,交换机根据mac地址区分用户。mac地址是物理层的概念。IP地址:ip是网络层的网络协议,通过路径检测和逻辑寻址等方法使得两个端系统(pc与服务器、手机与服务器、手机与PC等)可经由通信子网中多个 …