网络编程
文章平均质量分 91
o0o_-_
这个作者很懒,什么都没留下…
展开
-
⟅UNIX网络编程⟆⦔select函数的定义及参数
目录说在前面说在前面环境:windows10参考: UNIX网络编程目录:这里吐槽:爷青回原创 2022-06-26 22:32:09 · 198 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔IO复用概述及模型
目录说在前面问题引出I/O模型阻塞式I/O模型非阻塞式I/O模型I/O复用模型信号驱动式I/O模型异步I/O模型说在前面环境:manjaro19参考: UNIX网络编程目录:这里问题引出在之前的例子中有提到这种情况:当客户端在处理两个输入(标准输入、TCP套接字)时,若客户端阻塞在等待输入而服务器进程终止,那么客户端将无法读取到TCP套接字返回的EOF。见如下代码,// 客...原创 2020-11-05 22:23:08 · 186 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔TCP客户/服务器程序实例(三)
目录说在前面服务器进程终止服务器主机崩溃服务器主机崩溃后重启说在前面环境: WSL、ubuntu16参考: UNIX网络编程目录:这里其他:这里将书上的几种服务端终止的情况放进该篇,而第二部分(TCP客户/服务器程序实例(二))是正常的交互过程。其他如子进程的处理、accept终止等相当于补充。服务器进程终止模拟方式正常启动服务端、客户端,然后杀死服务器子进程。详细过程...原创 2020-02-08 15:28:18 · 596 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔accept在返回前终止
目录说在前面问题提出解决方式说在前面环境: WSL、ubuntu16参考: UNIX网络编程、linux manual page目录:这里问题提出在⟅UNIX网络编程⟆⦔处理SIGCHLD信号提及了如何处理被中断的系统调用的一种情况(EINTR非致命错误),另一种情况也可能导致一种非致命错误。在三路握手完成而建立连接之后,客户TCP却发送了一个RST(复位)。在服务端...原创 2020-01-06 12:52:00 · 415 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔wait和waitpid函数-补充
目录说在前面问题提出问题解决说在前面环境: WSL、ubuntu16参考: UNIX网络编程、linux manual page目录:这里本体:⟅UNIX网络编程⟆⦔wait和waitpid函数问题提出见问题已知while(waitpid)是回收所有已终止进程的,但是它是如何解决“信号处理函数不可重入”的问题?疑问来源:在信号处理函数sig_child中如果使用wai...原创 2020-01-06 09:08:07 · 353 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔wait和waitpid函数
目录说在前面数据类型说明基本说明wait与waitpid区别说在前面环境: WSL、ubuntu16参考: UNIX网络编程、linux manual page目录:这里数据类型说明 数据类型 说明 头文件 pid_t 一般为int,见这里 <unistd.h> 基本说明用于处理已终止的子进程。wait, waitpi...原创 2020-01-05 10:24:43 · 545 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔处理SIGCHLD信号
目录说在前面僵尸进程处理僵尸进程代码编译运行处理被中断的系统调用说在前面环境: WSL、ubuntu16参考: UNIX网络编程、linux manual page目录:这里僵尸进程设置僵死(zombie)状态的目的是维护子进程的信息,以便父进程在以后某个时刻获取。这些信息包括子进程的进程ID、终止状态以及资源利用信息(CPU时间、内存使用量等等)。如果一个进程终止,...原创 2020-01-03 15:51:36 · 361 阅读 · 2 评论 -
⟅UNIX网络编程⟆⦔POSIX信号处理
说在前面环境: WSL、ubuntu16参考: UNIX网络编程、linux manual page-sigaction、linux manual page-signal目录:这里信号信号,告知某个进程发生了某个事件的通知,有时也被称为软件中断。信号通常是异步发生的,即进程预先不知道信号准确的发生时刻。信号传递方向由一个进程发给另一个进程(或自身)进程进程由内核...原创 2020-01-03 10:27:42 · 225 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔TCP客户/服务器程序实例(二)
目录说在前面正常启动说在前面环境: WSL参考: UNIX网络编程目录:这里其他:接上篇⟅UNIX网络编程⟆⦔TCP客户/服务器程序实例(一)正常启动原创 2019-12-30 15:27:18 · 236 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔TCP客户/服务器程序实例(一)
说在前面环境: WSL参考: UNIX网络编程功能介绍客户从标准输入(例如键盘)读入一行文本,并写给服务器服务器从网络输入读入这行文本,并回射(转发)给客户客户从网络输入读入这行回射文本,并显示于标准输出(例如屏幕)上客户端与服务器之间是全双工连接(即可同时发送和接收);writen、readline见⟅UNIX网络编程⟆⦔readn、writen、readline函数...原创 2019-12-29 13:59:06 · 385 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔目录
Catalog⟅UNIX网络编程⟆⦔简介以及获取服务端时间实例⟅UNIX网络编程⟆⦔TCP、UDP以及SCTP⟅UNIX网络编程⟆⦔套接字地址结构⟅UNIX网络编程⟆⦔值-结果参数⟅UNIX网络编程⟆⦔大小端与字节排序函数⟅UNIX网络编程⟆⦔地址转换函数⟅UNIX网络编程⟆⦔readn、writen、readline函数⟅UNIX网络编程⟆⦔socket函数⟅UNIX网络编程......原创 2019-12-28 13:53:40 · 734 阅读 · 1 评论 -
⟅UNIX网络编程⟆⦔间章-包裹函数
目录说在前面说在前面环境: ubuntu16.04参考: UNIX网络编程原创 2019-12-28 12:59:07 · 308 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔getsockname和getpeername函数
目录说在前面数据类型说明基本说明说在前面环境: WSL参考: UNIX网络编程、linux manual page-getsockname、linux manual page-getpeername、inetd数据类型说明 数据类型 说明 头文件 socklen_t 套接字地址结构的长度,一般为uint32_t <sys/socket.h...原创 2019-12-18 15:22:02 · 453 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔close函数
基本说明通常Unix close函数也用来关闭套接字(其他如文件描述符),并终止TCP连接。定义#include <unistd.h>int close(int sockfd);参数说明:sockfd套接字描述符。返回值:成功返回0;出错则返回-1并置errno。详细说明close函数关闭一个TCP套接字的默认行为是将该套接字标记成已关闭,然后...原创 2019-12-17 09:38:27 · 319 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔fork、exec函数
目录说在前面说在前面环境: WSL参考: UNIX网络编程、linux manual page原创 2019-12-13 16:53:16 · 255 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔accept函数
目录说在前面基本说明说在前面环境: ubuntu16.04参考: UNIX网络编程、linux manual page基本说明原创 2019-12-11 14:18:43 · 416 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔connect函数
目录说在前面数据类型说明基本说明定义说明查看返回错误说在前面环境: ubuntu16.04参考: UNIX网络编程、linux manual page数据类型说明 数据类型 说明 头文件 socklen_t 套接字地址结构的长度,一般为uint32_t <sys/socket.h> 基本说明TCP客户用connect函数来建...原创 2019-12-10 17:02:04 · 395 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔listen函数
目录说在前面说在前面环境: ubuntu16.04参考: UNIX网络编程、linux manual page原创 2019-12-10 10:37:22 · 431 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔bind函数
目录说在前面说在前面环境: ubuntu16.04参考: UNIX网络编程、linux manual page原创 2019-12-08 15:02:07 · 414 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔socket函数
目录说在前面基本说明定义AF_xxx对比PF_xxx说在前面环境: ubuntu16.04参考: UNIX网络编程、linux manual page其他:典型事件以及相关函数事件流程图基本说明定义#include <sys/socket.h>int socket(int domain, int type, int protocol);参数说明:d...原创 2019-12-07 13:21:06 · 275 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔readn、writen、readline函数
目录说在前面数据类型说明问题提出readnwritenreadline说在前面环境: ubuntu16.04参考: UNIX网络编程数据类型说明 数据类型 说明 头文件 size_t 无符号整形,与机器相关,32位中为unsigned int,64位为unsigned long long <stddef.h> ssize...原创 2019-12-06 16:30:06 · 904 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔地址转换函数
目录说在前面啥inet_aton、inet_addr 、inet_ntoainet_pton、inet_ntop使用示例说在前面环境: WSL参考: UNIX网络编程啥网际地址ASCII字符串形式(如IPv4的“192.168.192.1”)与网络字节序的二进制形式之间的转换函数。inet_aton、inet_addr 、inet_ntoa用于IPv4地址定义#inc...原创 2019-12-04 15:48:35 · 205 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔大小端与字节排序函数
目录说在前面大小端主机序字节排序函数说在前面环境: WSL参考: UNIX网络编程大小端主机序字节排序函数原创 2019-12-03 09:01:51 · 236 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔值-结果参数
目录说在前面说在前面环境: WSL参考: UNIX网络编程原创 2019-11-27 14:22:59 · 179 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔套接字地址结构
数据类型 数据类型 说明 头文件 int8_t 带符号8位整数 <sys/types.h> uint8_t 无符号8位整数 <sys/types.h> int16_t 带符号16位整数 <sys/types.h> uint16_t 无符号16位整数 <sys/...原创 2019-11-26 11:53:35 · 284 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔TCP、UDP以及SCTP
缓冲区大小及限制IP数据报IPv4数据报最大大小为65535,包含40字节首部。IPv6数据报最大大小为65535+40。首部40字节,净载荷最大为65535。MTU(maximum transmission unit,最大传输单元)。IPv4要求的最小链路MTU为68字节,即20字节固定长度首部+最多40字节选项部分+最小8字节的数据。IPv6要求的最小链路MTU为1280字节...原创 2019-11-23 20:56:00 · 289 阅读 · 0 评论 -
⟅UNIX网络编程⟆⦔简介以及获取服务端时间实例
概述编写网络通信程序首先要明确使用的通信协议。同时,需要在高层次(例如应用层?)确定发起通信的程序以及响应的时间。(如Web客户端与Web服务器之间的通信,服务器需要长时间保持运行,以响应随时可能出现的客户端请求。)通常使用客户/服务端模型(C/S模型)。一个客户端可能与多个服务器通信;一个服务器也可能同时与多个客户端通信。客户端程序与服务端之间的通信通常涉及多个网络层协议。实例...原创 2019-11-21 13:26:19 · 438 阅读 · 0 评论