- 博客(5)
- 资源 (16)
- 收藏
- 关注
转载 select函数分析
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式
2013-04-25 17:33:33 1024
转载 Linux下高性能网络编程中的几个TCP/IP选项_SO_REUSEADDR、SO_RECVBUF、SO_SNDBUF、SO_KEEPALIVE、SO_LINGER、TCP_CORK、TCP_NODE
最近在新的平台上测试程序,以前一些没有注意到的问题都成为了性能瓶颈,通过设置一些TCP/IP选项能够解决一部分问题,当然根本的解决方法是重构代码,重新设计服务器框架。先列出几个TCP/IP选项:选项man 7 socket:SO_REUSEADDRSO_RECVBUF/SO_SNDBUFSO_KEEPALIVESO_LINGERman 7 tcp:T
2013-04-21 12:04:51 2086
转载 使用setsockopt()接口,设置TCP的接收与发送超时,Invalid argument错误问题
使用TCP套接字时,当无网络连接时,还会继续send,继续recv阻塞,知道TCP自己协议机制判断断开连接时才会停止发送和接收,时间需要几分钟之久。解决的办法是,自己设置接收超时时间,当超时后重新发送,或者从新初始化socket然后在重新创建socket重新connect。代码如下: int iSendTimeout, iRecvTimeOut;
2013-04-21 11:59:52 4315
转载 TCP研究
tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据在阻塞模式下, send函数的过程是将应用程序请求发送的数据拷贝到发送缓存中发送并得到确认后再返回.但由于发送缓存的存在,表现为:如果发送缓存大小比请求发送的大 小要大,那么send函数立即返回,同时向网络中发送数据;否则,send向网络发送缓存中不
2013-04-21 11:57:36 1258
转载 Alsa驱动分析(转)
1. Abstract2. Introduction3. 音频驱动框架介绍3.1 音频设备的注册3.2 音频驱动的注册3.2.1 Probe函数的调用3.2.2 Soc_probe函数4. 通常的使用流程的分析4.1.1 open过程介绍4.1.2
2013-04-11 23:49:11 1420
DM368 NAND FLASH启动解密
2012-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人