• 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.红黑树:是特殊的二叉
  • 2024-09-09day04(网络编程基础)tcp编程
    目录tcp编程流程服务器客户端函数接口socketbindlistenaccept​​​​​​​recv​​​​​​​connect​​​​​​​send初始版服务器客户端 加功能:1.客户端连接成功后进入循环发送状态,从终端获取用户输入并发送,当用户输入“quit”字符后退出循环并关闭客
  • 2024-09-06网络编程(TCP+网络模型)
    【1】TCP初版服务器#include<stdio.h>#include<sys/types.h>/*SeeNOTES*/#include<sys/socket.h>#include<netinet/in.h>#include<netinet/ip.h>#include<unistd.h>#include<arpa/inet.h>#include<string.h>
  • 2024-09-05万字解析qinguoyi / TinyWebServer项目的源码
    前言项目地址项目详细介绍本文章适合刚学习完C++基础知识并尝试实现一个网络编程项目的同学,其中包含了该项目的代码逐行注释和解析以及许多刚学习网络编程中会遇到的疑问。项目简介:Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器.使用线
  • 2024-09-05计算机网络练级第二级————网络套接字1
    前情提要IP地址和端口(一看就会)前文说到IP地址是标注了全世界唯一的一台计算机,两边计算机通过这个地址传递数据(送快递)端口是什么呢?它标注了这台计算机唯一一个进程。就像送快递你知道了地址,但不知道具体是哪个人,那我送个勾啊。所以端口就像是地址里这个具体的人,而IP地址呢?就
  • 2024-09-04【为项目做准备】Linux网络编程重点知识(项目通用知识)
    Linux网络编程的简单梳理,不够再来更新~socket()setsockopt()bind()listen()accept()socket()socket()函数,用来创建套字节头文件:#include<sys/socket.h>函数:intsocket(intdomain,inttype,intprotocol)相应参数说明:-domain:指定套接字的地址族,常见的AF_INET
  • 2024-09-01嵌入式全栈开发学习笔记---Linux网络编程(面试/开发重点)
    目录网络概述Linux网络基础网络模型TCP/IP协议族体系结构数据封装TCP协议TCP协议头部结构TCP三次握手TCP四次挥手UDP协议UDP协议头部结构套接字Socket端口号和IP地址地址转换字节序转换TCP服务器服务器建立步骤第一步,创建socket--socket()第二步,绑定信息Bin
  • 2024-08-30多路复用
    #include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<arpa/inet.h>#include<unistd.h>#include<string.h>#include<sys/time.h>#include<sys/select.h> intmain(void){   //1.创建套接字
  • 2024-08-28TCP并发服务器
    一、整体框架二、服务器单循环服务器:同一时刻,只能处理一个客户端的任务并发服务器:同一时刻,只能处理多个客户端的任务UDP是具备并发性的,是因为UDP是无连接的,所以处理器可以处理过来TCP实际上是单循环的服务器,只能建立一对一连接,其他人不能再与其建立连接,之前只有一个套
  • 2024-08-28重头开始嵌入式第二十九天(Linux系统编程 网络通信 tcp)
    目录1.常见网络模型1.bs2.p2p3.cs2.网络编程之TCP(传输控制协议)1.TCP模型2.服务器端:1.socket();2、bind();3、listen();4、accept();5、接受函数:/发送函数:6、close()  ===>关闭指定的套接字id;3.客户端:1.connect();2、send()3、客户端信息获取4、客户端的信息bin
  • 2024-08-26网络编程-Socket通信
    Socket通信1、什么是套接字​ Socket是封装了TCP/IP协议簇的系统API接口,这使得程序员无需关注协议本身,直接使用socket提供的接口与不同主机间的进程互联通信。​ 目前市面上主流的操作系统都采用这套机制进制网络通信,所以不同种类的操作系统,使用不同的编程语言,只要调用操作系统
  • 2024-08-22网络通信(TCP+UDP通信)
    一、UDP协议 1.1、recvfrom()参数说明intsockfd,//socket的fdvoid*buf,//保存数据的一块空间的地址size_tlen,//这块空间的大小intflags,//0默认的接收方式-----阻塞方式默认行为是阻塞a.MSG_DONTWAIT不阻塞方式,用他的话代表读的时候是非阻塞方式b.类似
  • 2024-08-20网络超时控制 + 指数补偿法超时连接
    一、知识预览1)超时控制的概念引入2)使用setsockopt设置超时控制3)使用select设置超时控制4)使用SIGALRM和alarm设置超时控制5)指数补偿法的超时连接机制二、概念引入①什么是网络超时控制超时实际上是一种介于阻塞与非阻塞之间的折中等待的方案:阻塞操作,意味着如果条件不满
  • 2024-08-19实现网络聊天室(UDP)
    项目需求:如果有用户登录,其他用户可以收到这个人的登录信息如果有人发送信息,其他用户可以收到这个人的群聊信息如果有人下线,其他用户可以收到这个人的下线信息服务器可以发送系统信息服务器端:#include<myhead.h>structsockaddr_inserveraddr,caddr;enumtype_t//枚举{
  • 2024-08-18Linux C網絡編程學習#1
    LinuxC網絡編程學習#1網絡編程的原理兩台計算機的通信本質上是通過物理線路相連接,但通信的問題在於怎麼解讀這些電信號?這就從一個硬件的問題轉向了軟件的問題了。因此需要規定兩台計算機如何解讀相互傳輸的電信號,這種規定如何解讀另一台計算機的電信號(或報文)的程序就叫協議。
  • 2024-08-17TCP/UDP网络聊天室
        本博客仅对网络聊天室项目进行分享,仅供学习讨论使用,欢迎大家讨论。UDP网络聊天室项目要求        利用UDP协议,实现一套聊天室软件。服务器端记录客户端的地址,客户端发送消息后,服务器群发给各个客户端软件,服务器也可以自己发送通知给所有客户端。  
  • 2024-08-16嵌入式学习DAY32---Linux软件编程---网络编程
    目录一、抓包软件的使用1.1.wireshark         1.作用1.2.UDP包头二、TCP编程2.1.发送信息1.创建套接字2.配置目的对象信息3.将自己的端口和ip和套接字绑定4.建立连接5.发消息6.关闭套接字2.2.接收消息1.创建套接字2.配置自己的信息并将自己的端口和i