
伊圣雨老师的网络编程
伊圣雨老师的网络编程
zhangzhangkeji
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(12) linux 上线程进程同步的信号量 semaphore,函 sem_trywait()、sem_timedwait()、sem_getvalue(),代码举例验证信号量里的资源数是无限的
(7)(8)原创 2025-02-09 21:21:07 · 183 阅读 · 0 评论 -
(11) linux 上的用于线程进程同步的信号量 semaphore,函 sem_init()、sem_destroy()、sem_wait()、sem_post()、
(1)(2)原创 2025-02-09 13:30:42 · 169 阅读 · 0 评论 -
(10) 如何获取 linux 系统上的 TCP 、 UDP 套接字的收发缓存的默认大小,以及代码范例,补充 windows 系统上的同样的测试
【代码】(10) 如何获取 linux 系统上的 TCP 、 UDP 套接字的收发缓存的默认大小,以及代码范例。原创 2025-02-04 20:35:32 · 625 阅读 · 0 评论 -
(9)下:学习与验证 linux 里的 epoll 对象里的 EPOLLIN、 EPOLLHUP 与 EPOLLRDHUP 的不同。小例子的实验
(4)本实验代码的蓝本,是伊圣雨老师里的课本里的代码,略加改动而来的。原创 2025-02-01 17:32:16 · 355 阅读 · 0 评论 -
(9) 上:学习与验证 linux 里的 epoll 对象里的 EPOLLIN、 EPOLLHUP 与 EPOLLRDHUP 的不同
若客户端没有调用 close(套接字),就关闭了, tcp 协议会发送一条 RST 报文给服务器。弄清这些知识很重要,可以让咱们安心的写出稳定的通信代码。: 包含了读事件, FIN 报文的正常四次挥手、还有 RST 报文的连接突然中断的情形(已经连接上的 tcp 连接,即使被突然关闭, tcp 协议也会让被关闭的套接字再发送最后一条报文,就是 RST 报文)。: 对应 FIN 报文的正常的四次挥手的 tcp 连接关闭。这时候,在现代的 linux 内核里,也同时保留了 EPOLLIN 事件。原创 2025-02-01 13:32:30 · 500 阅读 · 0 评论 -
是否需要显式使用 epoll_ctl ( fd , EPOLL_CTL_DEL , ... ) 来从红黑树里显式删除已关闭的套接字。一言与 C 知道的答案不对,代码验证是只用 close(fd) 即可
(1)关于 epoll 操作的三大系统函数: epoll_create ( …) 、 epoll_ctl ( …) 、 epoll_wait(…这些函数完成了 epoll 对象的创建、 套接字往 epoll 红黑树中的添加、修改 与 删除。原创 2025-01-29 11:02:38 · 260 阅读 · 0 评论 -
c/c++中 文本形式的数字 与 主机序数字 的互相转换; inet_ntop()、inet_pton()点分十进制文本与网络序数字的互相转换,inet_ntoa()与 inet_addr()
它提供了错误处理和不同进制转换的能力。在需要更强大功能的场景下,建议使用 strtol()。原创 2025-01-08 12:49:34 · 195 阅读 · 0 评论 -
c/c++ 里的进程间通信 , 管道 pipe 编程举例
(1)(2)(3)原创 2025-01-07 21:33:27 · 224 阅读 · 0 评论 -
为什么 网络通信里的环回地址是 127.0.0.1 :反正操作系统启动完成后,就把这个地址赋值给本主机的环回接口了
(3) 192.168.0.0 这样的地址是局部地址,不会出现在网络上的。估计理由也是因为 路由协议的底层代码的逻辑导致的。但底层代码太多,看不过来,也记忆不过来。先知道这个结论即可。(2)如上图,操作系统就是这么配置的。所以发往 127.0.0.1 的报文都会循环给本主机。原创 2025-01-01 05:59:06 · 219 阅读 · 0 评论 -
学习伊圣雨老师的 epoll 编程:select是水平触发模式,回声客户端代码,epoll 服务器端,验证默认的水平触发模式,采用边缘触发模式,ET 是根据新的接收报文触发而非根据接收缓存是否为空触发
(1)书里提出了疑问,epoll 函数的工作方式,区分为水平触发与边缘触发 :(2)原创 2024-10-30 20:46:55 · 319 阅读 · 0 评论 -
伊圣雨老师的书里的函数 fdopen() 与 fileno() ,文件描述符与 FILE* 指针的转换
【代码】伊圣雨老师的书里的函数 fdopen() 与 fileno() ,文件描述符与 FILE* 指针的转换。原创 2024-10-15 20:14:23 · 188 阅读 · 0 评论 -
本地线路和拨号线路
然后,用户需要在计算机上创建一个新的连接(通常在“网络连接”文件夹中),并手动设置连接参数(例如IP地址、子网掩码、网关等),最后输入运营商提供的账号和密码进行连接。因此,本地线路和拨号线路的主要区别在于它们的连接方式和使用网络适配器的不同。而拨号连接则是通过运营商提供的上网业务访问互联网,需要手动设置连接参数并进行账号密码认证。在本地连接正常的情况下,计算机可以与同一局域网内的其他设备进行通信。本地线路和拨号线路是两种不同的网络连接类型,它们的主要区别在于连接方式和使用的网络适配器。原创 2023-09-28 12:44:55 · 143 阅读 · 0 评论 -
伊圣雨《TCP/IP网络编程》域名解析解释
h_addr_list 实际上存储的是一个指针数组的首地址,从该地址开始存储了数个指针。而且奇特的是,指针数组的最后存储了一个空地址,null,表示数组的结束。丢掉编译时候的符号表,数组a的大小无从所知。h_addr_list被定义为 char **,更合适的是定义为 (void * * )a,表示a存储了指针的地址,而指针又指向了某种不明确的变量。char ** h_addr_list :这是一个二级指针,h_addr_list存储了一个指针的地址,而该指针指向一个char型变量。原创 2022-11-14 00:12:07 · 719 阅读 · 0 评论