上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 100 下一页

2013年7月29日

UNIX网络编程——客户/服务器程序设计示范(一)

摘要: 下面给出的是客户程序用于测试我们的服务器程序的各个变体。#include "unp.h"#define MAXN 16384 /* max # bytes to request from server */intmain(int argc, char **argv){ int i... 阅读全文

posted @ 2013-07-29 11:45 胡永光 阅读(176) 评论(0) 推荐(0) 编辑

UNIX网络编程——使用线程的TCP回射服务器程序

摘要: 同一进程内的所有线程除了共享全局变量外还共享:(1)进程指令;(2)大多数数据;(3) 打开的文件(即描述符);(4)信号处理函数和信号处置;(5)当前工作目录;(6)用户ID和组ID。不过每个线程有各自的:(1)线程ID;(2)寄存器集合,包括程序计数器和栈指针;(3)栈(用于存放局... 阅读全文

posted @ 2013-07-29 11:07 胡永光 阅读(141) 评论(0) 推荐(0) 编辑

2013年7月28日

UNIX网络编程——TCP—经受时延与nagle算法、滑动窗口、拥塞窗口

摘要: 1、经受时延: TCP在接收到数据时并不立即发送ACK,相反,它推迟发送,以便将ACK与需要沿该方向发送的数据一起发送,时延为200ms,超过时延范围,发送确认。 2、nagle算法: 一个TCP连接上最多只能有一个未被确认的未完成的小分组,在该分组的确认到达之前不能发送其他的小分... 阅读全文

posted @ 2013-07-28 23:07 胡永光 阅读(237) 评论(0) 推荐(0) 编辑

UNIX网络编程——带外数据小结

摘要: TCP没有真正的带外数据,不过提供紧急模式和紧急指针。一旦发送端进入紧急模式,紧急指针就出现在发送到对端的分节中的TCP首部中。连接的对端收取该指针是在告知接收进程发送端已经进入紧急模式,而且该指针指向紧急数据的最后一个字节。然而所有数据的发送仍然受TCP正常的流量控制支配。 ... 阅读全文

posted @ 2013-07-28 22:57 胡永光 阅读(94) 评论(0) 推荐(0) 编辑

UNIX网络编程——send与recv函数详解

摘要: #include ssize_t recv(int sockfd, void *buff, size_t nbytes, int flags);ssize_t send(int sockfd, const void *buff, size_t nbytes, int flags);send和rec... 阅读全文

posted @ 2013-07-28 22:43 胡永光 阅读(361) 评论(0) 推荐(0) 编辑

UNIX网络编程——关于socket阻塞与非阻塞情况下的recv、send、read、write返回值

摘要: 1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有 区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小,特别:返回 值 0发送数据大小,特别:返回值 0表示接收到数据。 这2种模式下的返回值是不是这么理解,有没有跟详细的理解或跟准确的 说明? 4、阻塞模... 阅读全文

posted @ 2013-07-28 21:37 胡永光 阅读(246) 评论(0) 推荐(0) 编辑

UNIX网络编程——TCP服务器“拒绝服务攻击” 解决方案

摘要: 前面的博客>里面的拒绝服务型攻击也有提到。 说这是一个完全的解决方案,其实有点夸大了,但这个方案确实可以缓解TCP服务器遭受“拒绝服务攻击”时表现出的脆弱性。 当服务器以TCP的方式提供服务时,客户端通过tcp连接上服务器。这时,恶意的程序,也可以通过tcp连... 阅读全文

posted @ 2013-07-28 21:25 胡永光 阅读(216) 评论(0) 推荐(0) 编辑

UNIX网络编程——客户/服务器心搏函数

摘要: 阅读此博客时,可以参考以前的博客>和>。 下面是关于回送客户和服务器程序开发一些简单的心搏函数。这些函数可以发现对端主机或到对端的通信路径的过早失效。 在给出这些函数之前我们必须提出一些警告。首先,有人会想到使用TCP的保持存活特性(SO_KEEP... 阅读全文

posted @ 2013-07-28 20:31 胡永光 阅读(210) 评论(0) 推荐(0) 编辑

UNIX网络编程——TCP带外数据小结

摘要: 带外数据概念实际上时向接收端传送三个不同的信息:(1)发送端进入紧急模式这个事实。接收进程得以通知这个事实的手段不外乎SIGURG信号或select调用。本通知在发送进程发送带外字节后由发送端TCP立即发送,即使往接收端的任何数据发送因流量控制而停止了,TCP仍然发送本通知。本通知可... 阅读全文

posted @ 2013-07-28 20:04 胡永光 阅读(159) 评论(0) 推荐(0) 编辑

UNIX网络编程——sockatmark函数

摘要: 每当收到一个带外数据时,就有一个与之关联的带外标记。这是发送进程发送带外字节时该字节在发送端普通数据流中的位置。在从套接字读入期间,接收进程通过调用sockatmark函数确定是否处于带外标记。#include int sockatmark(int sockfd); /* 返回值:如... 阅读全文

posted @ 2013-07-28 19:36 胡永光 阅读(594) 评论(0) 推荐(0) 编辑

上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 100 下一页

导航