随笔分类 -  网络编程

摘要:滑动窗口(sliding window) 滑动窗口是用于流量控制的,发送端根据接收端的处理能力发送数据,不至于造成过多的丢包。 是发送方和接收方间的协调,对方的接收窗口大小就是自己的发送窗口大小。 在TCP头中有一个字段window,这个字段就是接收端告诉发送端自己还有多少缓冲区可以接收数据。发送端 阅读全文
posted @ 2015-05-22 20:33 春文秋武 阅读(484) 评论(0) 推荐(0)
摘要:1.并发TCP最大连接数 一个TCP连接有一个四元组唯一标识{local_ip, local_port, remote_ip, remote_port} client端建立连接请求时,通常让系统分配一个空闲的本地端口,该端口是独占不共享的,端口类型是unsigned short,共65535个可用, 阅读全文
posted @ 2014-11-20 14:49 春文秋武 阅读(234) 评论(0) 推荐(0)
摘要:应用程序从网络中拿数据,要经历两个阶段:1、等待数据准备好-分组到达,被拷贝到内核缓冲区,组装数据报;2、数据从内核缓冲区拷贝至用户态应用程序的缓冲区。Unix下五个I/O模型:阻塞I/O:进程调用recvfrom,此系统调用直到数据报到达且拷贝到应用缓冲区(或出错)才返回。非阻塞I/O:应用程序调... 阅读全文
posted @ 2014-05-14 09:49 春文秋武 阅读(167) 评论(0) 推荐(0)
摘要:一个比较实用的连接函数,支持host为域名。#include #include #include #include #include #include #include #include using namespace std;int my_connect(const char *host, int... 阅读全文
posted @ 2013-11-21 14:39 春文秋武 阅读(212) 评论(0) 推荐(0)
摘要:实例:client#include #include #include #include const int MAXLINE = 100;void str_cli(int sockfd) { char recvline[MAXLINE]; string str; getline(cin, st... 阅读全文
posted @ 2013-10-18 15:10 春文秋武 阅读(250) 评论(0) 推荐(0)
摘要:获取和设置套接口选项的方法有:getsockopt/setsockoptfcntlioctlgetsockopt/setsockopt这两个函数仅用于套接口(socket)的设置,另外两个函数可以对任意的文件描述符进行设置。#includeint getsockopt(int sockfd, int... 阅读全文
posted @ 2013-07-09 13:46 春文秋武 阅读(236) 评论(0) 推荐(0)
摘要:select和epoll属于I/O多路复用模型,用于持续监听多个socket,获取其IO事件。select(轮询)该模型轮询各socket,不管socket是否活跃,随着socket数的增加,性能逐渐下降。#include #include int select (int maxfdpl, fd_s... 阅读全文
posted @ 2013-05-09 21:07 春文秋武 阅读(934) 评论(0) 推荐(0)
摘要:TCP编程示例图:头文件:常用头文件"arpa/inet.h", "sys/socket.h","netinet/in.h"函数原型:int socket(int family, int type, int protocol)family:通信协议族,IP protocol family为AF_IN... 阅读全文
posted @ 2013-05-09 11:04 春文秋武 阅读(338) 评论(0) 推荐(0)
摘要:TCP三路握手(SYN、ACK):TCP终止连接(四次握手,2个FIN、2个ACK):TCP的TIME_WAIT状态:Who-主动关闭方,When-接收到被动端的FIN,Why-实现终止TCP全双工连接的可靠性(可能需要重发ACK)/允许老的重复分节在网络中消失,How Long-2MSL(1m-4... 阅读全文
posted @ 2013-05-09 10:17 春文秋武 阅读(278) 评论(0) 推荐(0)
摘要:#include #include using namespace std;int main() { int result = 0; char hostName[100]; struct hostent* host = NULL; result = gethostname(hostName,... 阅读全文
posted @ 2012-12-19 17:56 春文秋武 阅读(251) 评论(0) 推荐(0)