Unix网络编程
文章平均质量分 81
jqdy
写一些自己心得,分享于众。
展开
-
Unix网络编程学习笔记之第4章 基于TCP套接字编程
1. socket函数int socket(int family, int type,int protocol)成返回一个套接字描述符。错误返回-1其中family指定协议族,一般IPv4为AF_INET, IPv6为AF_INET6。其中type指定套接字类型,字节流:SOCK_STREAM. 数据报:SOCK_DGRAM。一般情况下通过family和type的组合都可以原创 2015-05-27 16:51:45 · 872 阅读 · 0 评论 -
Unix网络编程学习笔记之第11章 名字与地址转换
一、 域名系统(DNS)1. 简介DNS主要用于主机名和IP地址之间的映射。主机名可以是简单的名字ljm,也可以是全限定域名ljm.localdomainbaidu.com等。 2.资源记录DNS中的条目称为资源记录(RR)。我们感兴趣的RR类型只有几个:A A记录把一个主机名映射为一个32位的IPv4地址。AAAA 4A记录把一个主机原创 2015-07-09 17:19:42 · 1386 阅读 · 0 评论 -
Unix网络编程学习笔记之第8章 基于UDP套接字编程
一、 UDP C/S的典型函数调用UDP没有像TCP那样的连接,客户端直接sendto向某服务器发送数据,服务器端一直recvfrom阻塞,以接收任何客户端发送的数据。 二、 sendto和recvfrom函数int sendto(int sockfd, const void* buff, size_t nbytes, int flag, const struct sock原创 2015-07-09 17:06:08 · 1128 阅读 · 0 评论 -
Unix网络编程学习笔记之第3章 套接字编程简介
1. 首先我们说一个IPv4的套接字地址结构:struct in_addr { in_addr_t s_addr;//!};struct sockaddr_in{ uint8_t sin_len; sa_family_t sin_family;//! int_port_t sin_port;//! structin_ad原创 2015-05-25 15:14:39 · 543 阅读 · 0 评论 -
Unix网络编程学习笔记之第2章 TCP和UDP
TCP1. TCP面向连接的协议,是一个字节流协议,没有任何记录边界。发送的是数据分组。2. TCP提供了可靠性:确认重传和重组 (1) TCP每发送一份数据都会要求对端进行确认。如果超时,就会重传。TCP会估计往返时间RTT,以确定等待多长时间重传。(2) 如果多次发送数据分组,TCP可以保证分组的按序达到。即会根据序列号进行重组。3. TCP提供流量控制TCP在原创 2015-05-22 10:06:13 · 882 阅读 · 0 评论 -
Unix网络编程学习笔记之第6章 I/O复用:select和poll函数
一、I/O复用应用场合1. 当客户处理多个描述符(既有标准输入,又有网络套接字)时,必须使用IO复用。2. 一个客户同时处理多个套接字是可能的。3. 如果一个服务器既要处理监听套接字,又要处理已连接套接字,一般就要使用I/O复用。4. 如果一个服务器既要处理TCP,又要处理UDP,一般就要I/O复用。5. 如果一个服务器要处理多个服务或协议,就要用到I/O复用。其实IO复用原创 2015-06-01 14:00:30 · 1051 阅读 · 0 评论 -
Unix网络编程学习笔记之第5章 TCP客户端/服务器程序示例
一、 一个简单TCP回射服务端程序#include "unp.h"#define MAXLINE 1024#define PORT 13#define CONMAX 5void err_sys(const char* s){ fprintf(stderr, "%s\n",s); exit(1);}void str_echo(int connfd){ in原创 2015-05-29 14:49:44 · 1007 阅读 · 0 评论 -
Unix网络编程学习笔记之第1章 简介
一、一个简单的时间获取客户端#include #define MAXCON 50#define MAXLINE 1024#define PORT 13void err_sys(const char* s){ fprintf(stderr, "%s\n",s); exit(1);}int main(int argc, char** argv){ int s原创 2015-05-20 17:22:34 · 753 阅读 · 0 评论 -
Unix网络编程学习笔记之第7章 套接字选项
一、获取/设置套接字选项的方法一个套接字描述符相关联的套接字选项很多。获取/设置套接字选项的方法:1. getsockopt和setsockopt函数2. fcntl函数3. ioctl函数 二、 getsockopt和setsockopt函数int getsockopt(int sockfd, int level, int optname, void* optval原创 2015-06-17 13:00:04 · 1185 阅读 · 0 评论 -
Unix网络编程学习笔记之第12章 IPv4与IPv6的互操作性
一、 简介假设我们本章讨论的主机都是支持双栈的,即支持IPv4地址,也支持Ipv6地址。我们本次讨论的点:客户端与服务器端使用的是不同类型的地址。因为相同类型的地址没什么可讲的。 二、 IPv4客户端与IPv6服务器即,客户端使用IPv4地址套接字来通信,服务器端使用IPv6地址套接字通信。原理:0. 首先IPv6服务器主机保证既有IPv4地址,又有IPv6地址。1原创 2015-07-09 17:23:47 · 1146 阅读 · 0 评论