
网络
文章平均质量分 85
学习网络知识过程中的点点滴滴
NUC_Dodamce
醉生梦死谁成器,拓马长枪定乾坤。
展开
-
Python-Socket练习(TCP回显服务器)
需要注意,如果没有设置端口复用,同一个端口不能再短时间内重启服务器。因为TCP断开连接时四次挥手,TIME_WAIT状态时重启服务器时会绑定失败,因为连接没有被完全释放。跟上面的流程类似,这里直接练习Python套接字语法。测试服务器的客户端代码。...原创 2022-08-28 10:21:43 · 301 阅读 · 0 评论 -
C/C++ 后端开发学习知识点总结(思维导图C、C++与数据结构、Linux、网络、MySQL)
注意:这里只是简单的将知识点罗列了一下,可能有遗漏还请见谅思维图中没有标记 了解 的都很重要!1.C语言原创 2022-05-27 11:45:31 · 1324 阅读 · 0 评论 -
Linux_网络 IO多路转接poll与epoll、详解epoll(工作原理,参数解析,工作方式、优缺点对比)、实例poll服务器 epoll服务器、Reactor设计模式ET工作epoll服务器
IO多路转接之select文章目录IO多路转接 pollIO多路转接poll实例IO多路转接 pollpoll与select的区别:poll解决的select检测文件描述符数目有限的缺陷。poll解决了select需要重复添加文件描述符。poll将用户传递给内核结构体与内核给用户的结构体分开,不用每次调用poll时重新添加文件描述符。fds:需要管理的文件描述符。nfds:需要管理文件描述符的个数。timeout_ts:设置超时时间。设置1000:每1秒timeout一次。设置0原创 2022-04-10 19:42:08 · 1322 阅读 · 0 评论 -
Linux_网络_ 五种IO模型、非阻塞接口fcntl、IO多路转接之select,实例select回显服务器
文章目录IO一般分为两步进行的:等待IO就绪。拷贝IO数据到内核或外设。特定时间段,减少等待时间提高IO效率。如果在特定时间段等待时间相同,则IO效率相同(不考虑一次IO内容大小)。所以:...原创 2022-04-03 18:29:40 · 1695 阅读 · 0 评论 -
Linux_网络_总结与协议拓展_TCP/IP四层模型总结 DNS协议、ICMP协议、NAT技术(服务器向内网主机发送数据)、代理服务器(正向代理与反向代理)
Linux网络总结与网络协议拓展原创 2022-03-26 21:32:11 · 426 阅读 · 1 评论 -
Linux_网络_数据链路层协议 MAC帧/ARP协议 (以太网通信原理,MAC地址与IP地址的区分,MTU对IP/TCP/IP的影响,ARP协议及其通信过程)
文章目录1. 以太网TCP:提供数据传输的可靠性策略(丢包重传,流量控制,拥塞控制,滑动窗口等等)IP:提供数据传输的能力,让数据可以从主机A经过网络传输到主机B。IP协议在进行通信时,先将数据交付给下一跳主机(发送数据的主机A一定和下一跳网络处于同一网络段,一定是局域网通信)TCP的机制保证了IP传输数据的可靠性。MAC:负责局域网通信细节不同的局域网,他们使用的通信细节不同(以太网,令牌环网等)。1. 以太网以太网并不是具体的网络,而是技术标准,既包含数据链路层部分也包含物理层部分原创 2022-03-24 20:34:39 · 5238 阅读 · 2 评论 -
Linux_网络_网络层协议 IP(报文结构,报头字段,网段划分,子网掩码,公网IP与私网IP,路由转发)
网络层解决的问题:将数据从一台主机发送到另一台主机。路由器:配有IP地址,又能进行路由控制节点:主机与路由器的统称文章目录1. IP协议IP协议报头字段1. IP协议TCP协议:为IP协议提供策略支持,IP协议拥有通信的能力,TCP通过自己的决策,保证了IP协议在通信时的可靠性。同时TCP还负责将数据交付到上层的应用层。IP协议:知道目的IP地址,经过路径选择,将数据跨网络传送到对端主机的功能。路径选择是靠路由器实现的,前提是路由器的路由表已经建立。IP协议报头字段报文格式为:IP协原创 2022-03-21 21:19:20 · 3978 阅读 · 0 评论 -
Linux_网络_传输层协议 TCP通信滑动窗口(快重传),流量控制,拥塞控制(慢启动),延迟应答,捎带应答,TCP常见问题(字节流,粘包),Listen半连接队列
紧跟Linux_网络_传输层协议 TCP/UDP继续补充文章目录1. TCP通信时滑动窗口1. TCP通信时滑动窗口TCP在通信时存在确认应答机制,如果收到ACK后再发送下一个报文。类似串行发送,效率太低。TCP在发送消息时,一次发送多条数据就可以大大提高性能,这就是TCP滑动窗口。(多条发送时间重叠在一起,类似多线程发送)注意:TCP在发送数据时不能将数据一次全部发给对端,因为需要考虑对端接受缓冲区的大小滑动窗口:发送方不用等待ACK一次发送数据的最大量,滑动窗口大小与对端接受缓冲区的大小有原创 2022-03-15 12:23:15 · 3134 阅读 · 0 评论 -
Linux_网络_传输层协议 TCP/UDP(端口,报头,协议格式,通信细节,三次握手与四次挥手,TCP协议机制,连接管理机制)
紧跟网络应用层协议http等 应用层上层协议将自己的数据发送给下层传输层协议。文章目录端口端口数据经过网络传输到主机后,系统根据端口号确认数据给那个应用程序。端口存在与传输层,使用端口与应用层关系。在传输层的协议报头中可以看到端口号标记了一个主机上进行通信的不同程序在TCP/IP协议中使用源IP,源端口号,目的IP,目的端口号来标识一个通信(netstat -n)。...原创 2022-03-13 17:58:53 · 3611 阅读 · 2 评论 -
Linux_网络_应用层协议 http/https(协议格式,协议方法,状态码,常见Header)
文章目录原创 2022-03-07 12:12:52 · 1015 阅读 · 2 评论 -
Linux_套接字(C++_TCP回显服务器——多进程/线程池(生产者消费者模型)处理多链接请求)
文章目录1.多进程版本服务端启动服务端客户端启动客户端本地测试2.多线程版本3.模板线程池版本线程池代码:设计任务Task.h服务端代码1.多进程版本这里选择创建子进程,让子进程再创建子进程。父进程等待子进程,子进程的子进程处理业务逻辑。因为子进程是直接退出,子进程的子进程变成孤儿进程被系统管理,所以父进程在等待的时候不是阻塞等待的,所以可以处理多条链接请求。或者可以忽略SIGCHID信号让子进程不需要等待。服务端pragma once #include<iostream>#in原创 2022-02-21 21:46:14 · 2245 阅读 · 4 评论 -
Windows平台封装TCP套接字(C++_TCP回显服务器)
文章目录WinTcpSever.hWinTcpClient.h本地测试WinTcpSever.h#pragma once#define _WINSOCK_DEPRECATED_NO_WARNINGS#include<iostream>#include<string>#include<winSock2.h>#pragma comment(lib,"WS2_32.lib")//套接字依赖的静态库using namespace std;class T原创 2022-01-28 23:59:53 · 2966 阅读 · 1 评论 -
Linux_网络套接字(C++_udp服务器,端口号,socket通信,网络字节序,sockaddr通用类型)
文章目录1.端口号(port)2.网络字节序3.sockaddr通用类型4.套接字系列函数socket函数创建套接字(sys/types.h sys/socket.h)bind绑定端口与ip(sys/types.h sys/socket.h)recvfrom函数读取网络数据(sys/socket.h sys/types.h)sendto函数发送数据到网络中5.udp实现服务端文件回显客户端服务端客户端本地测试6.代码位置1.端口号(port)端口号是一个2字节16位整数。任何网络数据通信,必须要通过端口原创 2022-01-26 23:50:08 · 1631 阅读 · 2 评论 -
Linux网络_从系统到网络(网络协议栈分层与功能,认识协议,OSI七层模型与TCPIP四层模型,网络通信流程(局域网,跨网络),MAC地址,IP地址)
文章目录1.网络在体系结构的位置与网络协议栈的层状结构2.协议栈各层的功能3.协议1.网络在体系结构的位置与网络协议栈的层状结构2.协议栈各层的功能协议栈分层设计达到了解耦目的,层与层之间只有接口之间的关系,提高了代码之间的可维护性与拓展性3.协议协议本质是一种约定,这种约定用计算机语言表达出。约定本身要可以通过某种数据标记出来,通信双方也可以识别。eg:...原创 2022-01-25 02:46:49 · 537 阅读 · 1 评论