
▷--○ socket
文章平均质量分 81
yss28
这个作者很懒,什么都没留下…
展开
-
UDP客户/服务器
一般来说,大多数TCP服务器是并发的,而大多数UDP服务器是迭代的(单个进程/线程就得处理所有客户)。UDP套接字调用connect(不同于原创 2017-01-19 17:12:56 · 3781 阅读 · 0 评论 -
广播与多播
多播支持在IPv4中是可选的,在IPv6中却是必需的。IPv6不支持广播。使用广播的任何IPv4应用程序一旦移植到IPv6就必须改用多播重新编写。广播和多播要求用于UDP或原始IP,它们不能用于TCP。广播广播的用途之一是在本地子网定位一个服务器主机,前提是已知或认定这个服务器主机位于本地子网,但是不知道它的单播IP地址。这种操作也称为资源发现。 源自Berkeley的内核不允原创 2017-02-10 11:47:42 · 1997 阅读 · 0 评论 -
套接字I/O
阻塞和非阻塞套接字套接字的默认状态是阻塞的,可能阻塞的套接字调用可分为以下四类:输入操作,包括read、readv、recv、recvfrom和recvmsg共5个函数。 阻塞的TCP套接字:如果该套接字接收缓冲区中没有数据可读,进程将被投入睡眠,直到有一些数据(单个字节或一个TCP分节等)到达。阻塞的UDP套接字:如果该套接字接收缓冲区为空,对它调用输入函数的进程将被投入睡眠,直到有UDP数原创 2017-01-23 19:06:39 · 574 阅读 · 0 评论 -
ICMP协议与ping
原始套接字原始套接字提供普通TCP和UDP套接字所不提供的能力。具体如下:进程可以使用原始套接字读与写ICMPv4、ICMPv6和IGMPv4等分组。ping程序使用原始套接字发送ICMP回射请求并接收ICMP回射应答。#include <netinet/in.h>int sockfd; // 使用原始套接字创建ICMPv4套接字sockfd = socket(AF_INET, SOCK_RA原创 2017-02-21 13:08:46 · 1800 阅读 · 0 评论 -
套接字选项
#include <sys/socket.h>int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);对于T原创 2017-02-14 16:16:17 · 3129 阅读 · 0 评论 -
TCP客户/服务器
《UNIX Network Programming Volume1: The Socket Networking API, Third Edition》 W.Richard Stevens / Bill Fenner / Andrew M.Rudoff字节排序函数#include <netinet/in.h>uint16_t htons(uint16_t host16bitvalue);原创 2017-01-16 15:25:52 · 4440 阅读 · 0 评论 -
多字节整数字节序(小端/大端)
>《UNIX Network Programming Volume1: The Socket Networking API, Third Edition》>W.Richard Stevens / Bill Fenner / Andrew M.Rudoff考虑内存中存储一个16位整数,它由2个字节组成,因此存储这两个字节有两种方法:- **小端字节序**——将低序字节存储在起始地址;- **大端字原创 2017-01-13 17:07:18 · 3377 阅读 · 0 评论 -
TCP和UDP概述
《UNIX Network Programming Volume1: The Socket Networking API, Third Edition》 W.Richard Stevens / Bill Fenner / Andrew M.RudoffTCP和UDP概述 多字节整数字节序(小端/大端) 套接字I/O 套接字选项 TCP客户/服务器 UDP客户/服务器 广播与多播 I原创 2017-01-12 16:56:11 · 1274 阅读 · 0 评论