人类可以以心跳来证明自己的生命依然在运转,服务器可以吗?那么服务器如何来证明自己还“活着”呢?心跳示意图(来自quanjing.com)其实,服务器也有自己的“心跳”,心跳包是客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。网络中的接收和发送数据都是使用SOCKET进行实现。但是如果此套接字已经 …
socket send函数
首先列举一下socket网络通信的例子:使用局域网打游戏,用浏览器连接外网看视频,使用QQ与好友通信,手机连接wifi传数据等等。socket是底层抽象给应用层所使用的一套接口函数,本篇讲解这些函数的使用。对象:服务器server(等待客户端连接)客户端client(主动连接服务器)对象之间的联系: client是根据server的‘’ip地址+端口号”找到 …
一直以来我们都知道socket的缓存会对tcp性能产生影响,也有无数文章告诉我们应该调大socke缓存。但是究竟调多大?什么时候调?有哪些手段调?具体影响究竟如何?这些问题似乎也没有人真正说明白。下面我们就构建起一个简单的实验环境,在两台虚拟机之间探究一下Socket缓存究竟如何影响TCP的性能?对分析过程不感兴趣的可以直接看最后的结论。影响Socket缓存 …
在开发 socket 应用程序时,首要任务通常是确保可靠性并满足一些特定的需求。利用本文中给出的 4 个提示,您就可以从头开始为实现最佳性能来设计并开发 socket 程序。本文内容包括对于 Sockets API 的使用、两个可以提高性能的 socket 选项以及 GNULinux 优化。为了能够开发性能卓越的应用程序,请遵循以下技巧:最小化报文传输的延时 …
我们经常会打开浏览器浏览新闻、购物、观看视频等操作。但你有没有想过,当你在浏览器中输入一个网址并按下回车键后,背后究竟发生了什么?从点击链接到页面完全加载,中间经历了哪些复杂的通信过程?其实这一切的背后,都离不开TCPIP协议的支持。通过它确保了数据能够从你本地电脑准确无误地传输到远端的服务器发起请求,服务器根据请求返回数据到你的屏幕上。今天带大家深入了解这 …
本文将从上层介绍Linux上的TCPIP栈是如何工作的,特别是socket系统调用和内核数据结构的交互、内核和实际网络的交互。写这篇文章的部分原因是解释监听队列溢出(listen queue overflow)是如何工作的,因为它与我工作中一直在研究的一个问题相关。建好的连接怎么工作先从建好的连接开始介绍,稍后将解释新建连接是如何工作的。内核管理的每一个TC …
