![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
文章平均质量分 86
SouthernBird
路漫漫其修远兮
展开
-
TCP实现FTP功能
FTP(File Transfer Protocol)是一种用于在计算机网络上传输文件的标准协议。它允许用户通过网络将文件从。原创 2023-07-19 19:02:26 · 1647 阅读 · 0 评论 -
Modbus通信介绍 网络高级工具使用
Modbus通信协议具有多个变种,其中有支持串口,以太网多个版本,其中最著名的是运行在串口上的协议采用二进制表示形式紧凑的数据结构通信效率高,应用广运行在串口上的协议采用ASCII码传输利用特殊字符作为字节开始和结束标志传输数据低,只用传输数据量少的时候才考虑使用运行在以太网上的协议采用主从问答方式进行通信Modbus Tcp是应用层协议,基于传输层Tcp协议实现Modbus Tcp端口号默认是502模拟的是实际的控制设备,相当于服务器端,用于响应主机的请求。原创 2023-06-17 12:17:00 · 1365 阅读 · 1 评论 -
网络编程 lesson7 广播组播和本地通信
网络编程中的广播是一种通信方式,用于向网络中的多个主机发送消息或数据。它被广泛应用于局域网(LAN)或广域网(WAN)环境中,使得一台主机能够向整个网络中的其他主机发送消息,而不需要逐个发送给每个目标主机。广播可以被看作是一种单向通信模式,其中发送方将消息广播到网络上的所有主机,而接收方则可以选择是否接收该消息。这使得广播非常适用于一些场景,如发送实时事件通知、传递系统状态更新或进行服务发现等。原创 2023-06-07 22:57:08 · 720 阅读 · 0 评论 -
网络编程 lesson6 服务器模型和网络超时检测
在网络模型中,服务器模型是指在计算机网络中扮演服务器角色的计算机系统或软件。它用于接收和处理客户端的请求,并向客户端提供所需的服务或资源。客户端/服务器模型:这是最常见的服务器模型之一。在这种模型中,客户端(例如个人计算机、智能手机或其他设备)发送请求到服务器,服务器处理这些请求并返回响应。这种模型适用于诸如网页浏览、电子邮件、文件传输等各种应用。分布式服务器模型:在分布式服务器模型中,多台服务器协同工作,共同处理客户端的请求。原创 2023-05-28 14:56:44 · 889 阅读 · 0 评论 -
网络编程 lesson5 IO多路复用
epoll 是一种事件驱动的 I/O 复用机制,用于高效地处理大量的文件描述符(sockets、文件等)的并发 I/O 操作。它在 Linux 操作系统中提供,用于替代旧的 select和 poll 系统调用。注意:epoll是 Linux 特有的系统调用,无法在其他操作系统上直接使用。其他操作系统通常使用不同的机制,如 kqueue(BSD 系统)和 IOCP(Windows)来实现类似的功能。原创 2023-05-27 17:43:55 · 1106 阅读 · 0 评论 -
select函数实现多路io复用
select是一个用于多路I/O复用的系统调用函数,常用于监听多个文件描述符上是否有读写事件发生。它的原型为:select函数的返回值表示发生事件的文件描述符的个数,如果返回值为0,则表示在指定时间内没有任何事件发生,如果出错则返回-1。在使用select函数之前需要对文件描述符集合进行初始化。fd_set类型是一个位图,每一个位表示一个文件描述符。可以通过下面的宏来操作fd_set类型:FD_ZERO(fd_set *set):将set清零,初始化为一个空集。原创 2023-04-14 10:47:36 · 432 阅读 · 0 评论 -
udp实现聊天室项目
服务器端记录客户端的地址,客户端发送消息后,服务器群发给各个客户端软件。e. 如果是离开消息,则将该客户端从链表中删除,并将其离开信息广播给聊天室内的其他客户端。把某个客户端登录的消息发给其它客户端。b. 循环监听客户端的消息,接收到消息后根据消息类型分别处理。:服务器删除退出客户端的地址,并把退出消息发送给其它客户端。:服务器只需要把某个客户端的聊天消息转发给所有其它客户端。c. 如果是登录消息,则将消息广播给聊天室内的其他客户端。d. 如果是聊天消息,则将消息发送给聊天室内的其他客户端。原创 2023-04-15 18:49:53 · 473 阅读 · 0 评论 -
TCP实现服务器和客户端通信
TCP (Transmission Control Protocol) 是一种面向连接的协议,用于在计算机网络中传输数据。TCP 可以确保数据的可靠传输,即使在网络环境不稳定的情况下也能够保证数据的完整性和顺序。面向连接:在 TCP 通信中,通信的双方必须先建立一个连接,然后才能进行数据的传输。连接的建立需要经过三次握手过程,确保双方都能够进行通信。可靠传输:TCP 可以保证数据的可靠传输,它使用确认和重传机制来确保数据的完整性和顺序。原创 2023-04-17 15:58:24 · 4683 阅读 · 0 评论 -
IO与进程篇 LESSON1 标准IO
标准I/O(Input/Output)是一种在Unix/Linux系统中用于输入和输出的通用接口。它提供了一种在程序和操作系统之间进行标准化通信的方式,使得程序可以从标准输入流(stdin)读取输入,向标准输出流(stdout)和标准错误流(stderr)输出结果。原创 2023-04-20 20:29:43 · 93 阅读 · 0 评论 -
IO与进程篇 LESSON2 文件IO
在Linux系统中,文件IO也是一个非常重要的概念。在Linux中,所有的设备、文件、管道、套接字等都是通过文件描述符进行访问和操作的。原创 2023-04-20 21:33:32 · 61 阅读 · 0 评论 -
动态库与静态库专栏
静态库与动态库的制作流程原创 2023-04-20 22:33:53 · 95 阅读 · 0 评论 -
IO与进程篇 LESSON3 进程理论
介绍进程相关理论知识,为进程编程做好准备原创 2023-04-21 08:30:40 · 49 阅读 · 0 评论 -
IO与进程篇 LESSON4 基础进程编程
在父进程中,可以使用fork()系统调用来创建一个子进程。创建子进程后,子进程会继承父进程的一些属性,如文件描述符、信号处理程序等。父进程和子进程之间是一种关系,父进程可以创建多个子进程,每个子进程都有自己的独立资源,并且可以运行不同的程序代码。在一个进程中,可以创建子进程,结束进程比较简单,就是将进程结束,类似return,但是还是和return有区别的。下面若子进程先结束,父进程如果没有及时回收,子进程变成。让子进程变成孤儿进程,成为后台进程;,被init进程收养,子进程变成后台进程。原创 2023-04-21 22:41:38 · 69 阅读 · 0 评论 -
IO与进程篇 LESSON5 线程理论与基础编程
前面介绍了进程,那么线程又是什么?原创 2023-04-27 21:42:45 · 54 阅读 · 0 评论 -
IO与进程篇 LESSON6 线程互斥与条件变量
当持有锁的线程完成对共享资源的访问后,它会释放互斥锁,允许其他线程继续访问共享资源。在多线程编程中,条件变量是一种线程间同步的机制,它允许一个线程等待另一个或多个线程满足某个条件后再执行。主要用来保护临界资源,每个临界资源都由一个互斥锁来保护,线程必须先获得互斥锁才能访问临界资源,访问完资源后释放该锁。例如,当两个线程同时尝试写入同一内存位置时,由于同时进行写入可能会导致数据的不一致性,因此需要确保只有一个线程能够访问该内存位置。在计算机程序中,线程互斥是指多个线程尝试访问共享资源时出现冲突的情况。原创 2023-04-29 19:28:18 · 60 阅读 · 0 评论 -
IO与进程篇 LESSON7 传统进程通信
进程通信是指两个或多个进程之间进行数据交换、共享资源或者互相协调的过程。进程通信的实现需要一定的机制和协议来保证通信的正确性、可靠性和效率。原创 2023-05-01 01:45:28 · 128 阅读 · 0 评论 -
IO与进程篇 LESSON8 system V IPC通信
进程间消息队列(Inter-process Message Queue,简称 IPC Message Queue)是一种特殊类型的消息队列,用于在不同进程间传递消息。它是一种系统级别的 IPC(Inter-process Communication,进程间通信)机制。进程间消息队列通过创建一个消息队列对象来实现,这个消息队列对象被系统内核维护,进程可以通过向这个对象发送消息,或从这个对象接收消息来进行通信。与进程共享的消息队列可以用于不同进程之间的协作和数据传输,这样进程就。原创 2023-05-03 13:45:52 · 134 阅读 · 0 评论 -
网络编程 lesson1 网络概念
常见的 Flooding 攻击包括 SYN Flood(利用 TCP 协议的三次握手过程),UDP Flood(发送大量的 UDP 数据包),以及 ICMP Flood(发送大量的 ICMP Echo 请求)。如果需要长距离的传输,比如某大型企业,总部在北京,分公司在长沙,局域网是无法架设的。局域网的缩写是LAN,local area network,顾名思义,是个本地的网络,只能实现小范围短距离的网络通信。广域网,就像是大马路,分支可能少,但类型多,像国道、省道、高速、小道等,连接了很多大的局域网。原创 2023-05-14 15:02:59 · 514 阅读 · 0 评论 -
网络编程 lesson2 TCP基础编程
Socket是一种编程接口(API),用于在计算机网络中实现进程间的通信。它提供了一组函数,允许开发人员创建网络应用程序,通过网络传输数据并进行网络通信。通过Socket,应用程序可以使用,并。Socket提供了一种抽象层,隐藏了底层网络细节,使开发人员能够专注于应用程序的逻辑,而。总而言之,Socket提供了一种通用的网络编程接口,使开发人员能够创建网络应用程序,并实现跨计算机的数据传输和网络通信。它为开发各种类型的网络应用提供了基础设施和工具。原创 2023-05-14 15:48:54 · 575 阅读 · 0 评论 -
网络编程 lesson3 UDP基础编程
UDP(User Datagram Protocol,用户数据报协议)是一种在计算机网络中常用的传输层协议。与TCP(Transmission Control Protocol,传输控制协议)相比,UDP是一种无连接的协议,它提供了一种简单的、无状态的数据传输方式。:UDP在通信之前不需要建立连接,发送方直接将数据报发送到目标地址。这种无连接的特性使UDP的通信过程更加简洁高效,但也导致了它的不可靠性。:由于UDP缺乏数据确认、重传机制和流量控制,因此它无法保证数据的可靠性和顺序。原创 2023-05-14 16:09:03 · 346 阅读 · 0 评论 -
网络编程 lesson4 linux下的IO模型和特点
本文核心内容!!!使用多路I/O多路复用技术的基本流程在Linux中,有几种常见的I/O模型,它们决定了应用程序如何进行输入和输出操作。原创 2023-05-14 16:36:03 · 329 阅读 · 0 评论