随笔分类 -  UNIX网络编程

复习unp,unix network programming
摘要: 阅读全文

posted @ 2017-11-09 21:06 flyingwaters 阅读(134) 评论(0) 推荐(0)

回射服务器的头文件
摘要:#ifndef _MY_ERR_H_#define _MY_ERR_H_ #include <errno.h> /* for definition of errno */#include <stdarg.h> /* ISO C variable aruments */ static void err 阅读全文

posted @ 2017-09-16 16:13 flyingwaters 阅读(326) 评论(0) 推荐(0)

回射服务器的客户端
摘要:#include "unp.h"int main(int argc,char**argv){ int sockfd; struct sockaddr_in servaddr; if(argc != 2) err_quit("usage:tcpcli<IPaddress>"); sockfd = so 阅读全文

posted @ 2017-09-16 16:12 flyingwaters 阅读(291) 评论(0) 推荐(0)

回射服务器的注释,全过程
摘要:#include "unp.h"static int read_cnt;//刚开始可以置为一个负值(我的理解) static char *read_ptr; static char read_buf[MAXLINE]; static ssize_t my_read(int fd, char *ptr 阅读全文

posted @ 2017-09-16 16:11 flyingwaters 阅读(392) 评论(0) 推荐(0)

fork()初级知识
摘要:来自:http://blog.csdn.net/jason314/article/details/5640969 #include <unistd.h> #include <stdio.h> int main () { pid_t fpid; //fpid表示fork函数返回的值 int count 阅读全文

posted @ 2017-09-16 15:53 flyingwaters 阅读(155) 评论(0) 推荐(0)

socket编程之accept()函数
摘要:转自:原文连接:http://linux.die.net/man/2/accept 名称 accept() 接收一个套接字中已建立的连接 使用格式 #include <sys/types.h> #include <sys/socket.h> int accept(int sockfd,struct 阅读全文

posted @ 2017-09-16 15:23 flyingwaters 阅读(1508) 评论(0) 推荐(0)

TIME_WAIT状态原理(转)
摘要:转自:http://elf8848.iteye.com/blog/1739571 通信双方建立TCP连接后,主动关闭连接的一方就会进入TIME_WAIT状态。 客户端主动关闭连接时,会发送最后一个ack后,然后会进入TIME_WAIT状态,再停留2个MSL时间(后有MSL的解释),进入CLOSED状 阅读全文

posted @ 2017-09-08 22:13 flyingwaters 阅读(205) 评论(0) 推荐(0)

Unix网络编程的实现具体流程
摘要:所有的客户和服务器都从调用socket开始,返回一个套接口描述字。然后,客户调用connect,服务器调用bind,listen和accept。套接口一般由标准的close函数关闭,当然也可以用函数shutdown来关闭。我们还要检查套接口选项SO_LINGER的效果。 多数服务器TCP服务器是调用 阅读全文

posted @ 2017-09-08 21:50 flyingwaters 阅读(227) 评论(0) 推荐(0)

TCP状态转换图
摘要:TCP连接的建立与终止可以用状态转换图(state transition diagram)来说明,见图2.4。 图中定义了11种状态,这种转换基于 如果一个client进程调用close(),主动发送一个SYN >SYN_SENT状态,这时握手成功收到server的syn和ACK,发回Client 阅读全文

posted @ 2017-09-03 19:04 flyingwaters 阅读(267) 评论(0) 推荐(0)

TCP关闭的四次握手
摘要:主动方(Client);http为服务器,close >调用tcp的FIN关键字 被动方写入EOF,然后返回ACK确认,再close-->tcp发送FIN关闭 主动方ACK回复进行确认。完全关闭这个连接。 阅读全文

posted @ 2017-09-03 15:50 flyingwaters 阅读(217) 评论(0) 推荐(0)

SYN的中发送若干的TCP选项
摘要:MSS选项(MAXimum segment size) >即他能接受的每个TCP分节的最大数据量。我们会看到如何使用TCP_MAXSEG套接口选项如何获取和设置这个TCP选项。 窗口规模选项 >两个端系统必须同时支持这个选项 >两个端系统必须同时使用syn来设置这个窗口规模选项 时间戳选项 >第一项 阅读全文

posted @ 2017-09-03 14:35 flyingwaters 阅读(283) 评论(0) 推荐(0)

UNIX下的网络族分类,IPv4和IPv6协议族
摘要:最左侧的例外为直接使用数据链路层的例外接口BPF/DLPI。 其余的9均为,TCP/IP协议族的应用层程序,左为五个,右为四个。 阅读全文

posted @ 2017-09-01 15:35 flyingwaters 阅读(565) 评论(0) 推荐(0)

TCP连接的建立和终止。
摘要:为帮助大家理解connect,accept和close函数并使用netstat 调试TCP应用程序,我们必须了解如何建立和终止TCP连接以及TCP的状态转换图.这是一个通过加深了解底层网络协议以帮助我们编写网络程序的例子。 模拟三路握手: 下述步骤建立一个TCP连接 1.服务器必须准备好接受外来的连 阅读全文

posted @ 2017-09-01 13:05 flyingwaters 阅读(250) 评论(0) 推荐(0)

TCP和UDP细致刻画,区别。
摘要:TCP 》RTT(round-trip -time) 网络传输的拥挤情况实在不断变化的。 每一个字节关联一个序列号进行排序。例如,假设一个应用进程写2048字节到TCP套接口,导致TCP,导致发送两个分节所含数据一个分节1~1024,2个分节1025~2048(分节是TCP传递给IP的数据单元).如 阅读全文

posted @ 2017-09-01 09:28 flyingwaters 阅读(168) 评论(0) 推荐(0)

TCP UDP的详解开始 ----UNIX网络编程
摘要:UDP是一种简单不可靠的数据报协议,注意描述,UDP协议这里是这么说的,不可靠的数据报协议,数据报 User Datagram Protocol 翻译为用户数据报协议,一种不可靠的数据报协议。 TCP是一种精致的可靠的字节流协议,Transmission Control Protocol --传输控 阅读全文

posted @ 2017-08-31 20:58 flyingwaters 阅读(172) 评论(0) 推荐(0)

关于UNIX网络编程的的OSI,1.7章的总结
摘要:OSI模型共七层:7:应用层 6:表示层 5:会话层 4:传输层 3:网络层 2:数据链路层 1:物理层 网际协议族:应用层 TCP/UDP IPv4 空 ipv6 设备驱动程序和硬件 上三层为应用程序层 下四层为linux的内核。第四和第五层之间形成应用程序编程接口API。 可以直接访问ipv4 阅读全文

posted @ 2017-08-31 11:26 flyingwaters 阅读(144) 评论(0) 推荐(0)

UNIX网络编程daytime服务端和客户端的实现过程
摘要:Server.c #include "unp.h"//solid for server#include <time.h> int main(int argc,char **argv){int listenfd,connfd;struct sockaddr_in servaddr;//header f 阅读全文

posted @ 2017-08-30 23:06 flyingwaters 阅读(276) 评论(0) 推荐(0)

导航