网络编程学习笔记
文章平均质量分 63
程序员小李77
主要学习C语言C++,Linux开发,网络编程。本博客记录个人的一些学习笔记整理~
展开
-
【网络编程笔记六】IO复用模型+reactor模型以及应用场景
1、IO复用函数的一些记录。2、文件描述符的计数。3、关于Reactor模型的一些记录。4、Reactor模型的应用场景举例。原创 2022-03-26 17:41:29 · 4379 阅读 · 0 评论 -
【网络编程笔记五】tcp状态分析之FIN_WAIT2和CLOSE_WAIT
1、tcp连接是三次握手,而为什么关闭连接需要四次握手?2、当发现发起关闭的一方,有大量FIN_WAIT2状态的时候(即被关闭的一方有大量的CLOSE_WAIT),这时候的问题排查方向。原创 2022-03-26 13:25:29 · 3284 阅读 · 0 评论 -
【网络编程笔记四】《UNIX网络编程》学习笔记——socket API函数基本概念
1、关于connect函数(1)激发TCP三次握手的是调用connect函数,该函数向对端发送一个SYN,从CLOSED状态转移到SYN_SENT状态,若函数执行成功再转移到ESTABLISHED状态。若函数执行失败,则该套接字不能再被使用,需要close当前的套接字并重新调用socket函数。(2)connect函数返回失败的原因可能有以下情况:发送SYN后没有得到响应,则重发SYN,超时未收到,则返回ETIMEOUT的错误。硬错误:发送SYN后,收到的响应是RST。(ECONNREFUSED)原创 2020-05-27 13:36:13 · 173 阅读 · 0 评论 -
【网络编程笔记一】socket网络字节序,IP转换函数
网络字节序大端法存储: 低位的存在高地址中,高位的存在低地址中;小端法存储: 高位的存在高地址中,低位的存在低地址中。TCP/IP 协议规定, 网络数据流应采用大端字节序,即低地址高字节。如果主机是小端的话,就要进行转换,如果主机是大端的话,则不需要进行进行转换。转换函数如下:#include <arpa/inet.h>uint32_t htonl(uint32_t hos...原创 2019-04-22 16:34:21 · 287 阅读 · 0 评论 -
【网络编程笔记二】socket的概念、主要函数的应用
socket基本概念IP地址可以在网络环境中标示一台主机,而端口号可以在主机中标示一台进程,因此IP号加端口号就可以在网络环境中找到一个唯一的进程,这个进程可以称为socket。socket还可以是Linux的一种文件的类型。socket的使用一定是成对出现;一定要绑定IP地址和端口号;在Linux中,socket的是实现是通过文件描述符的,文件描述符只有一个,但是指向两个缓冲区,一个读,一...原创 2019-04-22 16:55:50 · 182 阅读 · 0 评论 -
【网络编程笔记三】多进程并发服务器简单例子
实现一个多进程并发服务器,可以用多个客户端同时连接该服务端。服务端每连接也给客户端就创建一个子进程来处理,父进程则继续负责接收客户端的连接。#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <arpa/inet.h>#include <ctype.h>...原创 2019-05-02 19:52:16 · 340 阅读 · 0 评论