网络通信
ZAtonement
黑到终点总有光。
展开
-
I/O多路复用
网络I/O多路复用:一个线程如何处理多个连接请求的过程和技术,不需要为每个连接创建一个处理线程。1)问题3 epool是 用户态和内核态共享,不需要用户态和内核态之间的开销。2.poll 解决了 select的前两个问题。有数据来的时候进行数据重排,有结果的时候返回。遍历结果的时候只会编译有事件的。原创 2023-02-18 20:37:45 · 172 阅读 · 0 评论 -
TCP连接和关闭的过程
转载的链接处:TCP连接和关闭 建立连接:三次握手 在 TCP/IP 协议中,TCP 协议提供可靠的连接服务,采用三次握手建立一个连接,如图1所示。 图1 TCP三次握手建立连接的过程客户端 A 发送 SYN 包(SYN=j)到服务器 B,并进入SYN_SEND 状态,等待服务器 B 确认。 服务器 B 收到 SYN 包,必须确认客户 A 的 SYN(ACK=转载 2017-09-15 22:17:57 · 1746 阅读 · 0 评论 -
线程间的通信、同步方式与进程间通信方式
转载来自:总结的很到位1、线程间的通信方式● 使用全局变量 主要由于多个线程可能更改全局变量,因此全局变量最好声明为volatile● 使用消息实现通信 在Windows程序设计中,每一个线程都可以拥有自己的消息队列(UI线程默认自带消息队列和消息循环,工作线程需要手动实现消息循环),因此可以采用消息进行线程间通信sendMessage,postMessage。 1)定义消息#define W转载 2017-11-26 10:40:16 · 11518 阅读 · 0 评论 -
进程的通信方式及特点
转自 进程通信的含义 进程是转入内存并准备执行的程序,每个程序都有私有的虚拟地址空间,由代码,数据以及它可利用的系统资源(如文件,管道)组成.多进程/多线程是windows操作系统的一个基本特征.Linux系统一般都统称为进程. 由于不同的进程运行在各自不同的内存空间中,其中一个进程对于变量的修改另一方是无法感知的,因此,进程之间的消息传递不能通过变量或其他数据结构直接进行,只能通过进程间通信转载 2017-11-26 11:00:20 · 1581 阅读 · 0 评论 -
进程与线程之间的关系
进程和线程之间的关系转载来自:https://www.cnblogs.com/losing-1216/p/5083097.html 进程概念 进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资...转载 2018-03-11 17:27:12 · 679 阅读 · 0 评论 -
sudo apt-get install samba出现无法获取相应的锁解决方法
sudo apt-get install samba (安装共享文件协议samba)出现一下错误:E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)E: Unable to lock the administration directory (/var/lib/dpkg/)...原创 2019-06-24 00:21:59 · 2989 阅读 · 0 评论 -
解决VS运行共享目录下的项目UNC路径不受支持问题
UNC路径:格式类似于格式为:\servername\sharename\directory\filename的网路路径VS运行该文件路径下出现以下问题:解决方法:在注册表中,添加一个值即可.路径如下:HKEY_CURRENT_USER\Software\Microsoft\Command Processor添加值 DisableUNCCheck, 类型为 REG_DWORD ...原创 2019-06-29 16:36:18 · 3266 阅读 · 0 评论 -
Windows中使用telnet查看Ubuntu中TCPServer服务器监听情况
Telnet:Telnet协议是TCP/IP协议家族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以简单的概括为:Telnet只是一种远程登录的工具,telnet的...原创 2019-06-30 18:36:27 · 669 阅读 · 0 评论 -
如何终止Linux中正在运行的程序
1.前台程序:Ctrl+C、Ctrl+Z2.后台程序:ps -aux |grep +程序名称查找到相应的pid,而后 执行 kill -9 +进程号3.打开system monitor :gnome-system-monitor,类似于windows中的任务管理器,之后关闭相应的程序即可...原创 2019-06-30 22:06:55 · 25728 阅读 · 0 评论