
网络编程
_July_12
不骄不躁,不卑不亢
展开
-
socket的半包,粘包与分包的问题
首先看两个概念: 短连接: 连接->传输数据->关闭连接 HTTP是无状态的,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。 也可以这样说:短连接是指SOCKET连接后发送后接收完数据后马上断开连接。 长连接: 连接->传输数据->保持连接 -> 传输数据-> 。。。 ->关闭连接。 长连接指建立SOCKET连接后不管是否使转载 2015-03-31 10:48:16 · 573 阅读 · 0 评论 -
linux下的网络模型
同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西。这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不转载 2016-04-05 21:30:22 · 375 阅读 · 0 评论 -
套接字的阻塞和非阻塞send/recv
先理一下阻塞和非阻塞的概念:阻塞就是让当前调用线程一直处于停止等待当中,挂起的状态,线程函数会被卡住。非阻塞则是不管运行结果如何,都会继续往下执行(往往都要处理很多返回结果),线程函数里一般都是一个循环,不停的轮询。再理一下发送接收函数:send/sendto函数,只是把应用层的数据拷贝到内核发送缓冲区,并不保证数据一定会被发送到对端,真正执行发送及什么时候发送是由系统(协原创 2017-04-10 19:04:29 · 16184 阅读 · 1 评论