Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没 ...
分类:
编程语言 时间:
2017-03-19 14:10:07
阅读次数:
190
在不带组装,取数线程简化为直接while循环recv,通过setsockopt将SO_SNDBUF, SO_RCVBUF设置为256*1024时,短时间内的测试结果为6.7Gb/s。但是长时间的测试结果却如下图: 上图的横坐标为ROS接收到event的个数,以40000为单位。 (x, y)表示 R ...
分类:
数据库 时间:
2017-03-18 23:42:43
阅读次数:
339
在socket套接字模块进行send和recv方法时出现这种问题,是因为Python3.x和Python2.x版本变化,Inpython3,bytesstringsandunicodestringsarenowtwodifferenttypes.相互之间需要进行转换decode()和encode()。send()需要的参数为bytes类型,因此需要对str进行encode()recv()返回的..
分类:
编程语言 时间:
2017-03-17 21:28:11
阅读次数:
451
###########################server端:importsocketserver=socket.socket()server.bind((‘localhost‘,6969))server.listen()print("等电话")conn,addr=server.accept()print(conn,addr)print("来了")data=conn.recv(1024)print("recv:",data)conn.send(data.upper())server.cl..
分类:
其他好文 时间:
2017-03-10 22:42:43
阅读次数:
185
忽略SIGCHLD信号,交给内核处理子进程,避免产生僵尸进程。 服务器端: 客户端: ...
分类:
系统相关 时间:
2017-03-07 20:28:30
阅读次数:
743
#netstat-an|awk‘/tcp/{print$6}‘|sort|uniq-c16CLOSING130ESTABLISHED298FIN_WAIT113FIN_WAIT29LAST_ACK7LISTEN103SYN_RECV5204TIME_WAIT状态:描述CLOSED:无连接是活动的或正在进行LISTEN:服务器在等待进入呼叫SYN_RECV:一个连接请求已经到达,等待确认SYN_SENT:应用已经..
分类:
Web程序 时间:
2017-03-01 14:49:08
阅读次数:
193
Linuxshell代码netstat-n|awk‘/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}‘结果:除了ESTABLISHED,可以看到连接数比较多的几个状态是:FIN_WAIT1,TIME_WAIT,CLOSE_WAIT,SYN_RECV和LAST_ACK;下面的文章就这几个状态的产生条件、对系统的影响以及处理方式进行简单描述。TCP状态..
分类:
其他好文 时间:
2017-02-20 14:22:33
阅读次数:
353
一、准备Docker需要64位的操作系统Linuxkernel版本不得低于3.101.更新源$sudoapt-getupdate
$sudoapt-getinstallapt-transport-httpsca-certificates2.添加GPGkey$sudoapt-keyadv--keyserverhkp://p80.pool.sks-keyservers.net:80--recv-keys58118E89F3A912897C070ADBF76221572..
分类:
系统相关 时间:
2017-02-14 22:49:16
阅读次数:
327
网络由下往上分为: 对应 物理层-- 数据链路层-- 网络层-- IP协议 传输层-- TCP协议 会话层-- 表示层和应用层-- HTTP协议 socket则是对TCP/IP协议的封装和应用(程序员层面上)。也可以说,TPC/IP协议是传输层协议,主要解决数据 如何在网络中传输,而HTTP是应用层 ...
分类:
Web程序 时间:
2017-02-13 18:39:54
阅读次数:
182
Select模型原理利用select函数,判断套接字上是否存在数据,或者能否向一个套接字写入数据。目的是防止应用程序在套接字处于锁定模式时,调用recv(或send)从没有数据的套接字上接收数据,被迫进入阻塞状态。select参数和返回值意义如下:intselect(INintnfds,//0,无意义INOUT..
分类:
其他好文 时间:
2017-01-23 15:53:28
阅读次数:
226