随笔分类 - UNP学习
服务器端网络编程之 IO 模型
摘要:引言 从 T 跳槽到 A 之后,我的编程语言也从 C++ 转为 了 Java。在 T 做的偏服务器端开发,而在 A 更偏向于业务开发。上周在 A 公司组内做了一个《服务器端高性能网络编程》的分享,我讶异于组内的十个人竟然没有一个人做过直接基于 TCP/IP 协议的开发,更多的是 Web 后台的业务开
阅读全文
linux 下 epoll 编程
摘要:转载自Linux epoll模型,这篇文章讲的非常详细! 定义: epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合来...
阅读全文
linux 下 poll 编程
摘要:poll 与 select 很类似,都是对描述符进行遍历,查看是否有描述符就绪。如果有就返回就绪文件描述符的个数将。poll 函数如下: #include int poll(struct pollfd *fdarray, unsigned long nfds, int timeout) ...
阅读全文
linux 下 select 编程
摘要:linux 下的 select 知识点 unp 的第六章已经描述的很清楚,我们这里简单的说下 select 的作用,并给出 select 的客户端实例。我们知道 select 是IO 多路复用的一个最简单支持,poll 和 epoll 是 select 的升级版。在UNIX 网络编程第五章读书笔...
阅读全文
UNIX 网络编程第五章读书笔记
摘要:刚看完 UNIX 第五章内容,我想按照自己的方式将自己获得的知识梳理一遍,以便日后查看!先贴上一段简单的 TCP 服务器端代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8...
阅读全文
什么是套接口?
摘要:什么是套接口?socket、套接口、套接口描述符之间的关系 UNP 的译者在 p6 中的译注中提到:socket 一词应该译成“套接口”,理由如下:首先,作为网络编程 API 之一的套接口(sockets.注意这种用法总是采用复数形式,例如 sockets API、sockets library)...
阅读全文
TCP/IP学习(四)TCP缓冲区大小及限制(转)
摘要:链接来自:http://blog.csdn.net/ysu108/article/details/7764461这个问题在前面有的部分已经涉及,这里在重新总结下。主要参考UNIX网络编程。(1)数据报大小IPv4的数据报最大大小是65535字节,包括IPv4首部。因为首部中说明大小的字段为16位。IPv6的数据报最大大小是65575字节,包括40字节的IPv6首部。同样是展16位,但是IPv6首部大小不算在里面,所以总大小比IPv4大一个首部(40字节)。(2)MTU许多网络有一个可由硬件规定的MTU。以太网的MTU为1500字节。有一些链路的MTU的MTU可以由认为配置。IPv4要求的最小链
阅读全文
TCP连接的建立和终止
摘要:一、TCP 的建立 TCP 通过三次握手建立连接,具体步骤如下: (1). 服务器通过一系列的动作(socket、bind、listen)来准备接受外来的连接,被称为被动打开。 (2). 客户端通过一系列的动作(socket、connect)进行连接到服务器(要保证服务器已经被动打开了)。connect 动作会使客户 TCP 发送一个 SYN(我想和你(服务器)同步) 分节,它告诉服务器客户将在(待建立)连接中发送数据的初试序列号。 (3). 服务器端在收到这个 SYN 分节后,要对其进行 ACK 确认(嗯,我知道你要同步了)。并且,自己也发送一个 SYN(那我们同步吧) 分节,它告诉...
阅读全文
socket编程:客户端与服务器间的连接以及各函数的用法
摘要:在认真的看UNP之前,一直被socket编程说的云里雾里,今天我要让大家从整天上认识socket编程,让我们知道socket编程的整个流程和各个函数的用法。这样:我们在写一些简单的socket编程时就不用被那么多函数和调用顺序所迷惑了。下面看UNP书上给的图片描述的建立连接的过程,看了之后一目了然! 1.建立连接的概括图 2.各个函数的用法: (1).socket() 包含文件:#inlcude 函数原型:int socket(int family, int type, int protocol); 参数说明: ...
阅读全文
浙公网安备 33010602011771号