博客专栏  >  互联网   >  UNIX网络编程(卷1)学习笔记

UNIX网络编程(卷1)学习笔记

学习的内容不包括IPv6和SCTP等本人认为一般不会遇到的知识点。

关注
1 已关注
20篇博文
  • UNPv13:#第5章#TCP客户/服务器程序示例

    客户TCP收到FIN只是表示服务器进程已关闭连接的服务端,从而不再往其中发送任何数据而已。FIN的接收并没有告知客户TCP服务器进程已经终止。 当一个进程向某个已收到RST的套接字执行写操作时,内核向...

    2017-12-19 17:16
    238
  • UNPv13:#第4章#基于TCP套接字编程

    客户端和服务器都从socket开始,它返回一个套接字描述符。客户随后调用connect,服务器则调用bind、listen和accept。套接字通常用close关闭,也可以用shutdown半关闭。

    2017-12-15 16:05
    204
  • UNPv13:#第3章#套接字编程简介

    字节流套接字上调用read或write输入或输出的字节数可能比请求的数量少,原因在于套接字的缓冲器可能已经达到了极限,需要再次调用read或write输入或输出剩余的字节。对于文本行交互的应用来说,程...

    2017-12-15 10:39
    182
  • UNPv13:#第2章#传输层:TCP、UDP和SCTP

    UDP不保证UDP数据报会到达其最终目的地,不保证各个数据报的先后顺序跨网络后保持不变,也不保证每个数据报只到达一次。UDP是一个简单、不可靠、无连接的协议,而TCP是一个复杂、可靠、面向连接的协议。...

    2017-12-14 15:33
    317
  • UNPv13:#第1章#简介

    概述 TCP本身并不提供记录结束标志:如果应用程序需要确定记录的边界,它就要自己去实现,已有一些常用的方法可供选择。从TCP套接字读取数据时,我们总是需要把read编写在某个循环中,当read返...

    2017-12-13 20:09
    223
  • UNPv13:#附录A#IPv4、IPv6、ICMPv4和ICMPv6

    本附录给出IPv4、IPv6、ICMPv4及ICMPv6的概貌。这些材料所提供的额外背景知识对于理解第2章中有关TCP和UDP的讨论会有所帮助。高级套接字编程部分有若干章也使用了IP和ICMP的某些特...

    2017-12-12 16:41
    234
  • 第30章 客户/服务器程序设计范式

    觉得还是按:1 --> 7 --> 9 的顺序选取服务器模型比较(简单)可取。

    2017-11-20 15:16
    269
  • 第26章 线程

    #include //线程 int pthread_create(pthread_t *tid, const pthread_attr_t *attr, void *(*func)(void*),...

    2017-11-20 11:05
    213
  • 第25章 信号驱动式I/O

    (1)建立SIGIO信号的信号处理函数 (2)设置套接字属主 (3)开启套接字的信号驱动式I/O标志 #include "../Gnet.h" int fd; void sig_io(i...

    2017-11-17 17:29
    478
  • 第21章 多播

    1·多播(组播)地址:224.0.0.0~139.255.255.255 2·发送多播数据报无需任何特殊处理,发送应用程序不必为此加入多播组 3·多播相对于广播的优势在于不会对多播分组不感兴趣的主...

    2017-11-17 09:30
    207
  • 第20章 广播

    1·广播和多播要求用于UDP或原始IP,它们不能用于TCP。 2·单播IP数据报仅由通过目的IP地址指定的单个主机接收。 3·广播分组去往子网上的所以主机,包括发送主机本身。 4·(一般)除非显...

    2017-11-16 09:46
    228
  • 第17章 ioctl操作

    /* /usr/src/linux-headers-4.10.0-35/include/uapi/linux/if.h */ /* * INET An implementation of the ...

    2017-11-15 15:33
    399
  • 第16章 非阻塞式I/O

    执行时间:         停等版本(完全阻塞)  》  select加阻塞I/O版本  》  fork多进程版本(Linux下多线程也应该差不多)  》  非阻塞I/O版本 非阻塞读...

    2017-11-15 11:28
    420
  • 第15章 Unix域协议

    #include struct sockaddr_un { sa_family_t sun_family; /* AF_LOCAL */ char sun_path[1...

    2017-11-14 14:26
    111
  • 第14章 高级I/O函数

    设置套接字时间限制: 1、使用alarm函数和SIGALRM信号 2、使用由select提供的时间限制 3、使用SO_RCVTIMEO和SO_SNDTIMEO套接字选项 #include ssiz...

    2017-11-13 17:39
    280
  • 第13章 守护进程和inetd超级服务器

    #include void openlog(const char* ident, int options, int facility); void syslog(int priority, con...

    2017-11-13 14:22
    147
  • 第11章 名字与地址转换

    名字和数值地址间的转换:gethostbyname() gethostbyaddr() 服务名字和端口号之间的转换: getservbyname() getservbyport() 解析器代码读 依赖...

    2017-11-13 10:25
    186
  • 第8章 基本UDP套接字编程

    在没有启动 UDP 服务器的情况下,客户端键入文本行之后,并不会回显该文本行。此时客户端永远阻塞于它的 recvfrom 调用,等待一个永远不会出现的服务器应答。由于服务器没有启动,因此会响应一个端口...

    2017-11-10 17:45
    320
  • 第7章 套接字选项

    在Linux网络编程中,有时需要设置地址复用,允许发送广播包,将主机加入某个多播组,设置发送与接收缓冲区的大小,设置发送与接收的超时时间,将套接字绑定到某个接口上,发送TCP探测包查看客户端是否保持连...

    2017-11-10 10:54
    284
  • 第6章 I/O复用:select和poll函数

    I/O复用典型使用在下列网络应用场合: 1)当客户处理多个描述符(通常是交互式输入和网络套接字)时,必须使用I/O复用 2)一个客户同时处理多个套接字是可能的,不过比较少见。在16.5节结合一个web...

    2017-11-09 17:16
    128
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部