- 博客(4)
- 资源 (16)
- 收藏
- 关注
原创 WinSock和异步io
一般Socket本身可以设置属性,阻塞或者非阻塞,阻塞模式下accept,connect,send,recv,sendto,recvfrom操作都会等待socket的信号,send要等待操作完成后才会返回,等待的时间也是在等socket的状态变为可写。只不过等待的操作由操作系统来做,当前线程被挂起了。recv同理也一样。非阻塞则是不管可写或者非可写send都会直接返回,可写send...
2018-07-27 14:46:20 305
原创 boost::asio-网络部分框架探索
ASIO 网络相关部分类关系:最上层的类basic_io_object提供了对各平台异步io框架的封装(win_iocp, linux_reactive_epoll),屏蔽了平台上的细节对外部暴露了两个重要接口:1.get_service用于获取平台的服务(iocp,reactive的支持)2.get_implementation操作资源的集合(socket句柄,本地地址,远程地址...
2018-07-26 17:22:32 692
原创 boost::asio linux下的实现
看了下boost的源码, Windows下完全就是用IOCP来实现的异步,非常简洁,因为Windows为IOCP做的事情太多了,包括建立完成事件队列,往完成队列里面添加事件等等,根本不需要额外增加其他的代码就可以完成所有的事情。 而在linux下就没有这么方便,第一linux下的epoll是reactor模型,系统只是做简单的通知,其他拿数据的操作,还是需要自己动手,而且也不清楚是否有接...
2018-07-25 20:19:52 1253
原创 socket select模式
无论socket是阻塞还是非阻塞,UDP/TCP,都可以用select检测socket是否可读写,这样有利于控制超时时间。int select(nfds, readfds, writefds, exceptfds, timeout);select的超时时间不宜太长,这样可以方便及时的处理一些错误情况。比如说在UDP设置的超时时间内,我们接受到了上一次返回的包,但是序号对不上,那么这个包...
2018-07-25 11:36:39 1913
编译好的CPPCMS库
2015-11-05
图片拼接工具
2013-06-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人