上一页 1 ··· 66 67 68 69 70 71 72 73 74 ··· 121 下一页

2013年7月28日

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

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

posted @ 2013-07-28 22:57 疯子123 阅读(114) 评论(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 疯子123 阅读(180) 评论(0) 推荐(0) 编辑

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

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

posted @ 2013-07-28 21:37 疯子123 阅读(200) 评论(0) 推荐(0) 编辑

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

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

posted @ 2013-07-28 21:25 疯子123 阅读(225) 评论(0) 推荐(0) 编辑

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

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

posted @ 2013-07-28 20:31 疯子123 阅读(187) 评论(0) 推荐(0) 编辑

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

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

posted @ 2013-07-28 20:04 疯子123 阅读(183) 评论(0) 推荐(0) 编辑

UNIX网络编程——sockatmark函数

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

posted @ 2013-07-28 19:36 疯子123 阅读(173) 评论(0) 推荐(0) 编辑

2013年7月26日

UNIX网络编程——带外数据

摘要: 许多传输层有带外数据的概念,它有时也称为经加速数据。其想法是一个连接的某端发生了重要的事情,而且该端希望迅速通告其对端。这里“迅速”意味着这种通知应该在已排队等待发送的任何“普通”(有时称为“带内”)数据之前发送。也就是说,带外数据被认为具有比普通数据更高的优先级。带外数据并不需要在... 阅读全文

posted @ 2013-07-26 17:18 疯子123 阅读(198) 评论(0) 推荐(0) 编辑

UNIX网络编程——信号驱动式I/O

摘要: 信号驱动式I/O是指进程预先告知内核,使得当某个描述符上发生某事时,内核使用信号通知相关进程。 针对一个套接字使用信号驱动式I/O,要求进程执行以下3个步骤:建立SIGIO信号的信号处理函数。设置该套接字的属主,通常使用fcntl的F_SETOWN命令设置。开启该套接字的信号驱动... 阅读全文

posted @ 2013-07-26 16:29 疯子123 阅读(308) 评论(0) 推荐(0) 编辑

UNIX网络编程——非阻塞accept

摘要: 当有一个已完成的连接准备好被accept时,select将作为可读描述符返回该连接的监听套接字。因此,如果我们使用select在某个监听套接字上等待一个外来连接,那就没有必要把监听套接字设置为非阻塞,这是因为如果select告诉我们该套接字上已有连接就绪,那么随后的accept调用不... 阅读全文

posted @ 2013-07-26 16:09 疯子123 阅读(313) 评论(0) 推荐(0) 编辑

上一页 1 ··· 66 67 68 69 70 71 72 73 74 ··· 121 下一页

导航