• 2025-01-07I/O 多路复用,网络编程中的select、poll、epoll的发展历史、原理详解以及代码实现(三)
    上节讲到select、poll、epoll的原理详解,本节将对三者的代码实现进行介绍,此外,为了方便读者更好地对其使用场景进行理解,本节还将基于三者实现一个简单的tcp回显服务器的应用(EchoServer)。1.创建tcp回显服务器(1)创建服务器套接字intsockfd=socket(AF_INET,SOCK_STREAM,0);
  • 2025-01-04Unix 域协议汇总整理
    Unix域协议是一种用于同一台计算机上进程间通信(IPC)的技术。它提供了一种比基于网络的套接字更高效的方式来在本地进程中交换数据。Unix域协议使用文件系统作为通信的媒介,并且只限于在同一台计算机上运行的进程之间进行通信。Unix域套接字类型Unix域套接字支持两种主要类
  • 2025-01-04IO复用-代替多线程
    select//select(maxfd,rset,wset,eset,timeout);r读,w写,e错误,timeout多长时间轮询一次//有事件就返回//rset-->uLfds_bites[_FD_SIZE/(8*sizeof(long))]//#define_FD_SIZE1024默认值1024,内核定义fd_setrfds,rset;FD_ZERO(&rfds);FD_SET(sockfd,&rfds);intmaxf
  • 2024-12-26网络编程学习笔记
    1.网络编程1.1.介绍(IO)怎么学:理解(应用层)、多回顾、多练、自主要求:互动、认真听、互相尊重1.1.1.认识网络网络:多设备通信认识网络1.2.IP地址1.2.1.基本概念1.IP地址是Internet中主机的标识2.Internet中的主机要与别的机器通信必须具有一个IP地址3.IP地址为32
  • 2024-12-20网络超时检测
    利用socket属性实现应用场景在网络通信中,很多操作会使得进程阻塞:TCP套接字中的recv/acceptUDP套接字中的recvfrom超时检测的必要性避免进程在没有数据时无限制地阻塞实现某些特定协议要求,比如某些设备规定,发送请求数据后,如果多长时间后没有收到来自设备的回
  • 2024-12-14HTTP(网络)
    目录1.Http的基本代码1.1 HttpServer.hpp1.2简单测试一下 1.3 用telnet测试一下1.4 用浏览器访问1.5返回相应的过程(网页版本)​编辑1.5.1再次用浏览器访问1.6 返回相应的过程(文件版本) 1.6.1网页 1.6.2测试1.7 反序列化截取1.7.1解析第一行vector0号
  • 2024-11-29基于Linux下单进程的网络客户端和服务端开发
    基于Linux下单进程的网络客户端和服务端开发前言一、socket是什么?二、网络客户端1.创建流式套截字2.connect()3.send()4.recv()5.关闭socket三、网络服务端1.创建服务端监听套接字2.用于指定通信的IP和端口3.把socket设置为监听的socket4.接收客户端的连接5.recv()/send
  • 2024-11-23Linux 网络编程之UDP套接字
    前言前面我们对网络的发展,网络的协议、网路传输的流程做了介绍,最后,我们还介绍了IP和端口号,ip +port叫做 套接字socket,本期我们就来介绍UDP套接字编程!目录1、预备知识1.1传输层协议:TCP/UDP1.2网络字节序1.3socket接口1.4sockaddr2、echo_server2.1核
  • 2024-12-12IOS取证常见程序位置
    虽然做到也可能干成一把梭,以防万一用得上,也是参考了厂商的软件跟大佬的总结,之后有新的会再补充设备自带联系人与SQLite数据库文件格式的个人联系人相关的应用程序位于AddressBook文件夹的Library文件夹中。此文件夹中有两个重要的数据库,一个是AddressBook.sqlite.db,另一
  • 2024-12-09solon 集成 rocketmq5 sdk
    使用rocketmq5是比较简单的事情。也有些同学对sdk原始接口会陌生,会希望有个集成的示例。<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client-java</artifactId><version>${rocketmq5.version}</version></depen
  • 2024-12-07实验五
    任务三:测试代码>pets.hpp点击查看代码#pragmaonce#include<iostream>#include<string>usingnamespacestd;classMachinePets{public: MachinePets(conststring&s):nickname{s}{} virtualstringtalk()const=0; stringget_nickname(){
  • 2024-10-19项目模块三:Socket模块
    一、模块设计1、套接字编程常用头文件展示#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<unistd.h>#include<fcntl.h>2、成员函数设计(1)创建套接字bool Create()intsocket(intdomain,inttype,
  • 2024-09-29Web服务器
    目录一、引言二、环境准备三、网络编程基础  1.socket概述  2.创建socket  3.绑定地址和端口  4.监听客户端连接  5.接受客户端连接四、实现Web服务器  1.创建socket  2.绑定地址和端口  3.监听客户端连接  4.处理客户端请求  5.
  • 2024-09-13socket远程命令通信简单实现
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、代码示例?总结前言提示:这里可以添加本文要记录的大概内容:socket远程命令通信简单实现内核版本5.10cli端连接上ser端后,ser发送给cli端命令执行。cli支持命令:CMD_TYPE_TEST:测试,字
  • 2024-09-13网络套接字编程(二)
    socket常见API创建套接字:(TCP/UDP,客户端+服务器)intsocket(intdomain,inttype,intprotocol);绑定端口号:(TCP/UDP,服务器)intbind(intsockfd,conststructsockaddr*addr,socklen_taddrlen);监听套接字:(TCP,服务器)intlisten(intsockfd,intbacklog);接收请
  • 2024-09-12day09(网络编程基础)服务器模型
    目录服务器模型循环服务器并发服务器多进程多线程​​​​​​​IO多路复用​​​​​​​并发服务器总结服务器模型在网络通信中,通常一个服务器要连接多个客户端为了处理多个客户端的请求,通常有多种表现形式循环服务器一个服务器在同一时间只能处理一个客户
  • 2024-09-12udt聊天室
    创建一个简单的udp聊天室服务器代码思路:初始化:创建UDP套接字。配置服务器的IP和端口号,并绑定套接字到这个地址。数据接收和处理:使用循环接收客户端发来的消息。recvfrom()解析消息类型(如登录、发送、下线)和内容。广播消息:对于聊天消息,将其广播给所有连接的客户端。对于
  • 2024-09-11IO多路复用
    epoll功能及参数:intepoll_ctl(intepfd,intop,intfd,structepoll_event*event);功能:控制epoll属性,比如给红黑树添加节点。参数:1.epfd:epoll_create函数的返回句柄。2.op:表示动作类型,有三个宏:EPOLL_CTL_ADD:注册新的fd到epfd中EPOLL_CTL_MOD:修改已注册
  • 2024-09-10day08(网络编程基础)Linux IO 模型(IO多路复用)
    目录场景假设select特点编程步骤练习练习一:输入鼠标的时候,响应鼠标事件,输入键盘的时候,响应键盘事件(两路IO)练习二:用select创建并发服务器,可以同时连接多个客户端(0,sockfd)(12min)练习三:用select创建并发服务器,可以与多个客户端进行通信(监听键盘、socket、多个accept
  • 2024-09-10IO多路复用、服务器模型
    IO多路复用:epollepoll的提出--》它所支持的文件描述符上限是系统可以最大打开的文件的数目;eg:1GB机器上,这个上限10万个左右。每个fd上面有callback(回调函数)函数,只有产生事件的fd才有主动调用callback,不需要轮询。注意:Epoll处理高并发,百万级1.红黑树:是特殊的二叉树
  • 2024-09-10Day5网络编程:epoll+服务器模型+ftp
    1.io多路复用:epollepoll的提出--》它所支持的文件描述符上限是系统可以最大打开的文件的数目;eg:1GB机器上,这个上限10万个左右。每个fd上面有callback(回调函数)函数,只有产生事件的fd才有主动调用callback,不需要轮询。注意:Epoll处理高并发,百万级1.红黑树:是特殊的二叉