网络名词拾遗--part2

关于所谓的连接上限

先要明白服务端和客户端的交互逻辑:

  1. 服务端创建socket
  2. 与提供对外服务的port端口绑定
  3. 开始监听
  4. 客户端向这个端口提出请求
  5. 服务端接收到这个请求后创建一个新的socket
  6. 基于这个新的socket来进行数据交互

从这个流程可以知道,真正作为交互通道的是socket,而socket的上限是由系统设置决定的,可以人为修改,所以最终的上限只会由系统资源所决定。

port端口是门牌号,socket才是处理的工人。

长连接,长轮询

先记住基本法,http的交互实际上就是一问一答,也就是只有客户端去问了,服务端才会回答。

先说普通的连接和轮询:

连接:

就是普通的发送请求,服务器接收后,返回响应,断开连接。

轮询:

不断地发送请求去问(实现方法:可以在前端用JS来持续发送请求),服务器会处理每个请求。

而加了一个长字的长轮询则是这样的:

服务器会hold住这个请求(实现方法:其实就是用sleep去等待,等到生成好合适的响应再返回)。

长连接:

就是数据传输完成了之后TCP连接不断开,仍然维持一段时间,后续数据传输仍然可以复用。

网络名词拾遗--part2的更多相关文章

  1. 常用网络名词mark & 网络学习笔记

    自 治 系 统 ( A S, A utonomous System ) IGP 内部网关协议 I n t e r i o r G a t e w a y P r o t o c o l 域 内 选 路 ...

  2. linux服务器开发三(网络编程)

    网络基础 协议的概念 什么是协议 从应用的角度出发,协议可理解为"规则",是数据传输和数据的解释的规则. 假设,A.B双方欲传输文件.规定: 第一次,传输文件名,接收方接收到文件名 ...

  3. python 网络编程基础

    1. 内容回顾补充 [] [^] 带有特殊意义的元字符到字符组内大部分都会取消它的特殊意义. 会取消的: [()+*.] -[(-)] -的位置决定了它的意义,写在字符组的第一个位置/最后一个位置就表 ...

  4. openstack网络(四)-虚机流量分析

    几种网络名词解释 使用LinuxBridge时虚机流量分析 VLAN FLAT Local VXLAN 使用OVS时虚机流量分析 几种网络名词解释 1.local网络:local网络是与其他网络和节点 ...

  5. 【php学习】PHP 入门经典第一章笔记

    第一章: php在线手册:http://php.net/manual/zh/index.php 在开始学习PHP之前,先来看一个合格的PHP程序员今后应具备哪些知识,这里只是笔者的一些总结,希望对读者 ...

  6. 以太坊挖矿源码:ethash算法

    本文具体分析以太坊的共识算法之一:实现了POW的以太坊共识引擎ethash. 关键字:ethash,共识算法,pow,Dagger Hashimoto,ASIC,struct{},nonce,FNV ...

  7. 以太坊挖矿源码:clique算法

    上文我们总结了以太坊最主要的共识算法:ethash算法,本文将重点分析以太坊的另一个共识算法:clique. 关键字:clique,共识算法,puppeth,以太坊地址原理,区块校验,认证结点,POA ...

  8. [svc]二三层数据格式&&三层数据如何匹配路由

    网络知识拾遗 tcpip的4&7层模型 PDU数据包在不同层的不同称呼 物理层(一层)PDU指数据位(Bit). 数据链路层(二层)PDU指数据帧(Frame). 网络层(三层)PDU指数据包 ...

  9. [No0000D0] 让你效率“猛增十倍”,沉浸工作法到底是什么?

    一位编剧在三天内完成两万字的剧本,而在此之前,他曾拖延了足足半年.一名大四学生用一天半写了8000多字,一鼓作气拿下毕业论文. 有人说:“用了这个方法,我的效率猛增十倍.只用短短两小时,就摧枯拉朽地完 ...

随机推荐

  1. C++:explicit关键字

    在C++中,如果一个类的构造函数只有一个形参,在这种情况下,可以直接将一个对应于构造函数参数类型的数据直接赋值给类变量,编译器在编译时会自动进行类型转换,将对应于构造函数参数类型的数据转换为类的对象, ...

  2. tomcat jsp页面乱码解决

    浏览器接收服务器响应的中文参数: JSP页面中告诉浏览器使用什么编码: <%@ page language="java" contentType="text/htm ...

  3. 016_nginx运维问题总结

    一.关于nginx请求包过大的解决思路 message-api.jyall.me.conf nginx报错问题问题定位,经分析跟接入navigator后关联不大,可参考一下结论连接超时抓包分析了一下每 ...

  4. Javascript之BOM与DOM讲解

    一.Javascript组成 JavaScript的实现包括以下3个部分: ECMAScript(核心) 描述了JS的语法和基本对象. 文档对象模型 (DOM) 处理网页内容的方法和接口 浏览器对象模 ...

  5. PhpStrom添加调试功能

    要给PhpStrom添加调试功能,需要安装Xdebug,网址:https://xdebug.org/ 1.如何下载对应thinkphp版本号的Xdebug呢 创建一个php文件,在里面输入phpinf ...

  6. Java 程序员必须收藏的资源大全

    Java 程序员必须收藏的资源大全 Java(27) 古董级工具 这些工具伴随着Java一起出现,在各自辉煌之后还在一直使用. Apache Ant:基于XML的构建管理工具.官网 cglib:字节码 ...

  7. Json学习整理

    1:javascript对JSON的支持 2:java对JSON的支持 alibaba->fastjson 封装工具类: import com.alibaba.fastjson.JSONObje ...

  8. PLSQL developer 连接不上64位Oracle 解决办法

    在64位Windows7上安装Oracle后,用PLSQL developer去连接数据库出现报错: Could not load "……\bin\oci.dll" OCIDLL ...

  9. js判断用户的浏览器

    1,判断pc和移动端 function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsI ...

  10. 使用匿名内部类调用start方法

    package chapter03;//类实现接口public class WD implements Runnable{//重写接口的方法 @Override public void run() { ...