Request-Reply模式
对于client来说必须严格按照先调用zmq_send()
函数,然后调用zmq_recv()函数的顺序来执行对于server来说,执行时序相反如果不按照这个时序来,可能会发生错误,或者信息丢失
可以有多个client同时连接到server
Publish-Subscribe模式
SUB so...
分类:
其他好文 时间:
2015-03-18 15:59:01
阅读次数:
196
五种I/O模型介绍(1)阻塞I/O[默认] 当上层应用App调用recv系统调用时,如果对等方没有发送数据(Linux内核缓冲区中没有数据),上层应用Application1将阻塞;当对等方发送了数据,Linux内核recv端缓冲区数据到达,内核会把数据copy给用户空间。然后上层应用App解除阻塞,执行下一步操作。 (2)非阻塞I/O[少用] 上层应用App将套接字设置成非阻塞模式, 然...
分类:
其他好文 时间:
2015-03-14 17:05:48
阅读次数:
220
下面来罗列一下判断远端已经断开的方法:(转自http://blog.csdn.net/god2469/article/details/8801356)法一:当recv()返回值小于等于0时,socket连接断开。但是还需要判断 errno是否等于 EINTR,如果errno == EINTR 则说明...
分类:
系统相关 时间:
2015-03-09 22:18:17
阅读次数:
260
netstat -anp |awk '{print $6}'|sort|uniq -c |sort -rn172ESTABLISHED 59CONNECTED 589SYN_RECV 15STREAMSYN居然这么高,继续追查是那些ip发出的SYN:[root@tweb ~]# netstat...
分类:
其他好文 时间:
2015-03-09 16:04:53
阅读次数:
208
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’TIME_WAIT 8947FIN_WAIT1 15FIN_WAIT2 1ESTABLISHED 55SYN_RECV 21CLOSING 2LAST_ACK 4T...
分类:
系统相关 时间:
2015-03-06 09:31:53
阅读次数:
195
1、read 与 recv 区别 read 原则: ????????数据在不超过指定的长度的时候有多少读多少,没有数据则会一直等待。所以一般情况下:我们读取数据都需要采用循环读的方式读取数据,因为一次read 完毕不能保证...
分类:
其他好文 时间:
2015-03-05 17:27:53
阅读次数:
119
以前上传文件时报这个异常没这么在意,这次网络不好时总是报这个异常,导致文件上传失败,故特意说明一下,报个异常的原因还是很多的,今日只针对我当前遇上的问题进行记录一下。背景:平时网络好的时候,我开启线程的上传和下载都没问题,网络慢的时候就出来这个异常Recvfailu..
分类:
Web程序 时间:
2015-03-05 15:03:35
阅读次数:
148
###########################################################
套接字的IO函數
IO函数都涉及到阻塞问题,所以要考虑超时问题.
推荐使用sendmsg和recvmsg函数。
对socket的操作:
#include
#include
ssize_t recv(int sockfd, void*buff, s...
分类:
其他好文 时间:
2015-02-28 21:45:15
阅读次数:
255
场景:
1. 当使用socket通讯时,客户端或者服务端需要1对多的情况,为了维护多个连接,简单的blocking模式是
满足不了要求的,所以这时候需要简单的select I/O 模型基本能解决问题,因为它的recv和send并不是
立即返回的,所以它其实还是属于blocking模式....
分类:
其他好文 时间:
2015-02-25 11:40:34
阅读次数:
153
root@dredd:/data/data/berserker.android.apps.sshdroid/home # netstat -lnpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address F...
分类:
其他好文 时间:
2015-02-24 20:58:56
阅读次数:
349