自学《网络原理》,感觉还是挺有用的。再通过linux深化一下。
wireshap抓取的进取网卡的数据。在编程中其实是很有用的。
网络通信导图:

传输层TCP和UDP
TCP传输控制协议,面向连接的稳定的可靠的服务,全双工,字节流 的服务。
UDP用户数据报协议,无连接的协议。
TCP编程模型:
TCP三次握手四次挥手:
建立连接的意思:是在服务端与客户端都维护这样一个会话。

不管哪端发送数据后,对方都要进行一个确认。
四次挥手

其他网络知识:
网络字节序:由htons()函数实现。
套接字地址结构:

IP地址转换的相关函数:1、inet_addr()、inet_aton()、inet_ntoa()
2、inet_pton()、inet_ntop()
TCP编程过程:一台虚拟机做服务器,一个WINDOW做客户端。

socket函数:

connect()函数;

bind()函数:

listen()函数

accept()函数
int accept(int sockfd,struct sockaddr *addr,socklen_t *addrlen);
UDP编程模型:


多客户端访问服务器问题:
两个函数:


6-19 指视频日期
IO复用问题:
阻塞式IO

先记录个大概内容,以后,再根据思维导图,实验具体的操作吧,不操作这部分是不能掌握的。
非阻塞IO

信号驱动IO:

异步IO方式:

IO复用方式:

IO复用场合:


并发效率比较:




组播:

原始套接字:可以接收任何地方发来的数据报。可以处理从某个网卡发出去的所有数据。

发数据:



本文深入探讨了网络原理,重点讲解TCP和UDP协议的特点及编程模型。通过Wireshark抓包解析,理解网络通信机制,并介绍了网络字节序、套接字地址结构及IP地址转换函数。此外,还概述了TCP的三次握手四次挥手过程,以及网络编程中的关键函数如socket、connect、bind、listen和accept等。
3343

被折叠的 条评论
为什么被折叠?



