上一页 1 ··· 62 63 64 65 66 67 68 69 70 ··· 121 下一页

2013年8月3日

UNIX网络编程——通过UNIX域套接字传递描述符和 sendmsg/recvmsg 函数

摘要: 在前面我们介绍了UNIX域套接字编程,更重要的一点是UNIX域套接字可以在同一台主机上各进程之间传递文件描述符。 下面先来看两个函数:#include #include ssize_t sendmsg(int sockfd, const struct msghdr *ms... 阅读全文

posted @ 2013-08-03 00:09 疯子123 阅读(215) 评论(0) 推荐(0) 编辑

2013年8月2日

UNIX网络编程——UNIX域套接字编程和socketpair 函数

摘要: 一、UNIX Domain Socket IPC socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但... 阅读全文

posted @ 2013-08-02 19:04 疯子123 阅读(177) 评论(0) 推荐(0) 编辑

UNIX网络编程——epoll 系列函数简介、与select、poll 的区别

摘要: 前面博客>有关于epoll函数的讲解。一、epoll 系列函数简介#include int epoll_create(int size);int epoll_create1(int flags);int epoll_ctl(int epfd, int op, int fd, stru... 阅读全文

posted @ 2013-08-02 18:39 疯子123 阅读(239) 评论(0) 推荐(0) 编辑

UNIX网络编程——select函数的并发限制和 poll 函数应用举例

摘要: 一、用select实现的并发服务器,能达到的并发数,受两方面限制 1、一个进程能打开的最大文件描述符限制。这可以通过调整内核参数。可以通过ulimit -n来调整或者使用setrlimit函数设置, 但一个系统所能打开的最大数也是有限的,跟内存大小有关,可以通过cat /proc/sy... 阅读全文

posted @ 2013-08-02 17:54 疯子123 阅读(246) 评论(0) 推荐(0) 编辑

UNIX网络编程——epoll 的accept , read, write(重要)

摘要: 在一个非阻塞的socket上调用read/write函数,返回EAGAIN或者EWOULDBLOCK(注:EAGAIN就是EWOULDBLOCK)。 从字面上看,意思是: EAGAIN: 再试一次 EWOULDBLOCK:如果这是一个阻塞socket, 操作将被block... 阅读全文

posted @ 2013-08-02 15:24 疯子123 阅读(279) 评论(0) 推荐(0) 编辑

UNIX网络编程——epoll的 et,lt关注点

摘要: epoll模型有两种工作模式,ET和LT两种模式下都有一些细节值得注意,以下是一些思考: 一、ET模式下Q1:调用accept时,到底TCP完成队列里有多少个已经建立好的连接?这里又得分情况来说:没有连接。这种情况发生在TCP连接被客户端夭折,即在服务端调用accept之前客户端给出... 阅读全文

posted @ 2013-08-02 14:28 疯子123 阅读(114) 评论(0) 推荐(0) 编辑

2013年8月1日

UNIX网络编程——解决TCP网络传输“粘包”问题

摘要: 当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API)。TCP/IP传输层有两个并列的协议:TCP和UDP。其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务。UDP(user... 阅读全文

posted @ 2013-08-01 19:06 疯子123 阅读(147) 评论(0) 推荐(0) 编辑

UNIX网络编程——Socket粘包问题

摘要: 一、两个简单概念长连接与短连接:1、长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2、短连接 Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点 通讯,比如多个C... 阅读全文

posted @ 2013-08-01 18:28 疯子123 阅读(151) 评论(0) 推荐(0) 编辑

UNIX网络编程——Socket/TCP粘包、多包和少包, 断包

摘要: 为什么TCP 会粘包 前几天,调试mina的TCP通信, 第一个协议包解析正常,第二个数据包不完整。为什么会这样吗,我们用mina这样通信框架,还会出现这种问题? TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可... 阅读全文

posted @ 2013-08-01 17:53 疯子123 阅读(148) 评论(0) 推荐(0) 编辑

UNIX网络编程——利用ARP和ICMP协议解释ping命令

摘要: 一、MTU 以太网和IEEE 802.3对数据帧的长度都有限制,其最大值分别是1500和1492字节,将这个限制称作最大传输单元(MTU,Maximum Transmission Unit) 如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就要进行... 阅读全文

posted @ 2013-08-01 15:38 疯子123 阅读(422) 评论(0) 推荐(0) 编辑

上一页 1 ··· 62 63 64 65 66 67 68 69 70 ··· 121 下一页

导航