通信

rpc中的高并发

情到浓时终转凉″ 提交于 2020-03-11 21:30:30
手写一个高性能的rpc框架 模拟服务端,运行main函数,相当于启动服务器 public class ServerApplication { public static void main(String[] args) throws Exception { //开启服务端,然后等待客户端发出请求,然后给客户端响应数据,但如果这些操作都写在,会使代码不好维护,因此,将其抽象化,抽象出 //一个工厂类,专门来做这样的操作。 //因此需要一个专门来处理提供者类的工厂类,此类需要提供一个初始化方法、一个开始/停止服务的方法、(如果要加注册中心的话还需要一个添加服务的方法) } } 提供者工厂类 public class XxlRpcProviderFactory { //初始化方法(相当于一个构造器)里面的参数,就是开启服务需要的参数 /** * * @param netType 网络通信方式 * @param serializer 序列化方式 * @param ip ip地址 * @param port 端口号 * @param accessToken 接收token(如果有) * @param serviceRegistryClass 注册中心类 (可先不要) * @param serviceRegistryParam 注册中心参数 (可先不要) */ public void init

计算机网络

帅比萌擦擦* 提交于 2020-03-11 17:46:58
物理层 物理层的基本概念 物理层解决如何在连接各种计算机的 传输媒体 上传输 数据比特流 ,而不是指具体的传输媒体。 物理层的主要任务描述为:确定与传输媒体的接口的一些特性,即: 机械特性:比如 接口形状、大小、引线数目 电气特性:比如 规定电压范围(-5V 到 +5V) 功能特性:比如 规定 -5V 表示0,+5V 表示1 过程特性:也成为规程特性,规定建立连接时各个相关部件的工作步骤 数据通信的基础知识 典型的数据通信模型 相关术语: 通信的目的是传送消息 数据(data)—— 运送消息的实体 信号(signal)—— 数据的电气或电磁的表现 “模拟信号” —— 代表消息的参数的取值是连续的 “数字信号” —— 代表消息的参数的取值是离散的 码元(code)—— 在使用时间域的波形表示数字信号时,则表示不同离散数值的基本波形就称为码元 在数字通信中常常用时间间隔相同的符号来表示一个二进制数字,这样的时间间隔内的信号称为二进制码元。而这个间隔被称为码元长度。1码元可以携带 nbit 的信息量 信道的几个基本概念 信道一般表示向一个方向传送信息的媒体。所以咱们说平常的通信线路往往包含一条发送信息的信道和一条接收信息的信道。 单向通信 (单工通信):只能有一个方向的通信而没有反方向的交互。 双向交替通信 (半双工通信):通信的双方都可以发送信息,但不能双方同时发送

人人互动直播之Swoole通讯服务重启教程

一世执手 提交于 2020-03-11 09:52:25
互动直播之Swoole通讯服务重启教程 (1)在服务器命令行执行 ps -ef|grep PHP 查看是否成功启动 (2)使用kill命令杀掉主进程(pid是第一行的第一个数字):kill 16900 (3) ps -ef|grep PHP 查看是否成功杀死进程 (4) 使用php命令执行站点根目录下addons/ewei_shopv2/core/socket/server.php文件 (5)在服务器命令行执行 ps -ef|grep PHP 查看是否成功启动 或者 在商城互动直播的后台查看是否成功连接服务 来源: CSDN 作者: 宇亲 链接: https://blog.csdn.net/weixin_39709920/article/details/104789403

计算机网络技术

橙三吉。 提交于 2020-03-11 09:49:49
计算机网络技术,是通信技术与计算机技术相结合的产物。计算机网络是按照网络协议,将计地球上分散的、独立的计算机相互连接的集合,实现资源共享和信息传递的系统。连接介质设可以是电缆、双绞线、光纤、微波、载波或通信卫星。计算机网络具有共享硬件、软件和数统据资源的功能,具有对共享数据资源集中处理及管理和维护的能力。一般按网络范围划分为享局域网(LAN)、城域网(MAN)、广域网(WAN) 来源: 51CTO 作者: wx5e6771fa43f7e 链接: https://blog.51cto.com/14750392/2477101

认识计算机网络

不问归期 提交于 2020-03-11 04:41:15
计算机自诞生伊始,经历了一系列演变与发展。大型通用机计算机、超级计算机、小型机、个人电脑、工作站、便携式电以及现如今的智能手机终端都是这一过程的产物。它们性能逐年增强,价格却逐年下降,机体规模也在逐渐变小。随着计算机的发展,人们不再局限于单机模式,而是将一个个计算机连接在一起,形成一个计算机网络。从而实现信息共享,同事在能在两台物理位置较远的机器之间即时传递消息。计算机网络根据规模可以分为WAN(Wide Area Network,广域网)和LAN(Local Area Network,局域网)。将有业务往来的计算机连在一起便组成了私有网络,将多个私有网络连接一起就成了为公众使用的互联网。随着互联网爆发性地发展与普及,信息网络如同我们身边的空气,触手可及。但是在以前,对一般人来说使用一台计算机都不是那么容易的事情。 计算机与网络大致可以分为7个阶段: 一、20世纪50年代的批处理时代 二、20世纪60年代的分时系统时代 三、20世纪70年代的计算机间通信时代 四、20世纪80年代的计算机网络时代 五、20世纪90年代的互联网普及时代 六、2000年的以互联网为中心的时代 七、2010年的无论何时何地一切皆TCP/IP的网络时代 互联网是由许多独立发展的网络通信技术融合而成。能够使它们之间不断融合并实现统一的正是TCP/IP技术。 那什么是TCP/IP呢? TCP

alibaba远程调用框架dubbo原理

隐身守侯 提交于 2020-03-11 04:32:51
alibaba有好几个分布式框架,主要有:进行远程调用(类似于RMI的这种远程调用)的(dubbo、hsf),jms消息服务(napoli、notify),KV数据库(tair)等。这个框架/工具/产品在实现的时候,都考虑到了容灾,扩展,负载均衡,于是出现一个配置中心(ConfigServer)的东西来解决这些问题。 基本原理如图: 在我们的系统中,经常会有一些跨系统的调用,如在A系统中要调用B系统的一个服务,我们可能会使用RMI直接来进行,B系统发布一个RMI接口服务,然后A 系统就来通过RMI调用这个接口,为了解决容灾,扩展,负载均衡的问题,我们可能会想很多办法,alibaba的这个办法感觉不错。 本文只说dubbo,原理如下: ConfigServer 配置中心,和每个Server/Client之间会作一个实时的心跳检测(因为它们都是建立的Socket长连接),比如几秒钟检测一次。收集每个Server提供的服务的信息,每个Client的信息,整理出一个服务列表,如: serviceName serverAddressList clientAddressList UserService 192.168.0.1,192.168.0.2,192.168.0.3,192.168.0.4 172.16.0.1,172.16.0.2 ProductService 192.168.0.3

Unity3D开发之unity和js通信交互

廉价感情. 提交于 2020-03-11 02:30:54
自己虽然最开始弄的就是webgl但是一直比ios和安卓记录的都要晚,因为一直没想到,所以这里结合某个博客加上自己的经历记录一下 一.老版方法 unity发布webplayer平台后会输出html和unity3d文件。我们的程序主要被打包在unity3d文件里,而html则是网页的界面显示。 1.Unity发送消息给JS unity想要和js交互,提供了一个函数:Application**.ExternalCall()**;此函数仅限于webplayer平台下。我们编辑发布的html文件,在里面加入我们的js脚本如下: function GetID ( id ) { alert ( "传入id:" + id ) ; } 在unity里我们在start函数里调用 Application . ExternalCall ( "GetID" , "吴彦祖" ) ; 使用浏览器打开html文件,就会出现如下弹窗: 2.JS发送消息给unity 我们在刚才的js函数里添加一句代码: function GetID ( id ) { alert ( "传入id:" + id ) ; //发送消息给unity 第一个参数:挂在脚本的物体 第二个参数:unity被调用的函数 第三个参数:函数传入的参数 u . getUnity ( ) . SendMessage ( "Main Camera" ,

计算机网络数据链路层基础小结

喜你入骨 提交于 2020-03-11 02:30:35
数据链路层 ​ 数据链路层使用的信道类型 点对点信道: 使用一对一的点对点通信方式 广播信道: 一对多的广播通信方式 ​ 链路 一个节点到相邻节点的一段物理线路(有线或无线),中间没有任何其他的交换节点 ​ 数据链路 一条物理线路加上通信协议来控制数据的传输,就构成了数据链路 ​ 网络适配器 用于实现数据链据通信协议的硬件或软件称为网络适配器,一般网络适配器包括数据链路层和物理层 ​ 帧 数据链路层中点对点信道的通信协议使用的数据单元 ​ 点对点信道通信步骤 节点A的数据链路层把网络层交下来的ip数据报添加首部和尾部封装成帧 节点A把封装好的帧发送给节点B的数据链路层 节点B的数据链路层收到帧若无错,从收到的帧提取出ip数据报交给上面的网络层;否则丢弃这个帧 ​ 数据链路层三个基本问题 封装成帧 在ip数据报的前后添加首部和尾部,就构成了一个帧 透明传输 无论什么样的比特组合,都能按原样进行传输 差错检测 数据链路层使用循环冗余检验CRC检错技术 ​ 点对点协议PPP 数据链路层广泛使用的协议 ​ 使用广播信道的数据链路层 局域网 ​ 以太网 符合IEEE的802.3标准的局域网 ​ 适配器 计算机通过网络适配器与局域网进行连接 ​ 集线器 星形网络中心的设备,叫做集线器 ​ 以太网的mac层 在局域网中硬件地址称为MAC地址或物理地址,实际上也是适配器地址 ​ 发往本机的帧

Ecma & ECMAScript

偶尔善良 提交于 2020-03-11 02:28:56
Ecma International 是一个成立于1961年的行业协会,致力于信息和通信系统的标准化。 自1961年至今,Ecma International®一直有效,为及时制定各种全球信息和通信技术(ICT)和消费电子(CE)标准提供了便利。 TC39 - ECMAScript的® 通用,跨平台,与供应商无关的编程语言ECMAScript™的标准化。 ECMAScript的® 是Ecma国际组织的注册商标。 JavaScript TM是Oracle的商标。 来源: CSDN 作者: daqiang012 链接: https://blog.csdn.net/daqiang012/article/details/104779369

Windows R3与R0通信

£可爱£侵袭症+ 提交于 2020-03-11 01:42:46
Windows 分为应用层与内核层。它们之间是如何进行通信的呢? 内核主要由各种驱动(在磁盘上是.sys文件)组成,这些驱动有的是windows系统自带的(例如ntfs.sys、tcpip.sys、win32k.sys),有的是由第三方软件厂商提供的。驱动加载之后,会生成对应的设备对象,并可以选择向R3提供一个可供访问和打开的符号链接。常见的盘符C、D、E等其实都是文件系统驱动创建的设备对象的符号链接,对应的符号链接分别是 “\??\C:\” “\??\D:\” “\??\E:\”等。 应用程序可以根据内核驱动的符号链接名调用CreateFile()函数打开。在获得一个句柄(handle)之后,程序就可以调用应用层函数与内核驱动进行通信了,例如ReadFile()、WriteFile()及DeviceIoControl()等。 内核函数一旦执行了DriverEntry()入口函数,就可以接收R3层的通信请求了。在内核驱动中专门有一组分发派遣函数用来分别响应应用层的调用请求,如图7.9所示。每一个应用层负责I/O的API都对应与一个内核中的分发派遣函数,例如CreateFile()对应于DispatchCreate()。API被调用之后,传递给API的数据和命令就会通过IRP直接传递给对应的驱动分发派遣函数来处理。当驱动分发派遣函数处理完这个IRP请求之后,驱动可以结束(或允许