通信

(1)基于tcp协议的编程模型 (2)tcp协议和udp协议的比较 (3)基于udp协议的编程模型 (4)反射机制

耗尽温柔 提交于 2020-03-15 16:09:15
1.基于tcp协议的编程模型(重中之重) 1.1 编程模型 服务器: (1)创建ServerSocket类型的对象,并提供端口号; (2)等待客户端的连接请求,调用accept()方法; (3)使用输入输出流进行通信; (4)关闭Socket并释放有关的资源; 客户端: (1)创建Socket类型的对象,并提供服务器的IP地址和端口号; (2)使用输入输出流进行通信; (3)关闭Socket并释放有关的资源; 1.2 相关类和方法的解析 (1)ServerSocket类 java.net.ServerSocket类主要用于描述服务器的套接字(大插排)。 ServerSocket(int port) - 根据参数指定的端口号来构造对象。 Socket accept() - 侦听并接受到此套接字的连接请求。 void close() - 关闭套接字。 (2)Socket类 java.net.Socket类用于描述客户端的套接字,该套接字是两台机器间通信的端点。 Socket(String host, int port) - 根据参数指定的主机名和端口号来构造对象。 InputStream getInputStream() - 用于获取当前Socket的输入流。 OutputStream getOutputStream() - 用于获取当前Socket的输出流。 void close()

Vue2.x中的父子组件相互通信

岁酱吖の 提交于 2020-03-15 10:23:58
原理 在 Vue.js 中,父子组件的关系可以总结为 props down, events up 。 父组件通过 props 向下传递数据给子组件,子组件通过 events 给父组件发送消息。看看它们是怎么工作的。 业务场景 这里指的是 直接父子级 关系的通信 美女(子组件)将消息发送给大群(父组件) 大群(父组件)收到美女发送的消息后再回个信息给美女(子组件) 父组件 template <template> <div> <p>群消息girl:</p> <div> {{ somebody }} 说: 我 {{ age }} 了。 </div> <hr> <v-girl-group :girls="aGirls" :noticeGirl="noticeGirl" @introduce="introduceSelf"></v-girl-group> </div> </template> 注意的点: 这里在父组件使用 v-on 来监听子组件上的自定义事件($emit的变化),一旦发生变化 noticeGirl 方法就会触发 <script> import vGirlGroup from './GirlGroup' export default { name: 'girl', components: { vGirlGroup }, data () { return { aGirls:[{

C# TCP多线程服务器示例

偶尔善良 提交于 2020-03-14 21:54:49
前言 之前一直很少接触多线程这块。这次项目中刚好用到了网络编程TCP这块,做一个服务端,需要使用到多线程,所以记录下过程。希望可以帮到自己的同时能给别人带来一点点收获~ 关于TCP的介绍就不多讲,神马经典的三次握手、四次握手,可以参考下面几篇博客学习了解: TCP三次握手扫盲 效果预览 客户端是一个门禁设备,主要是向服务端发送实时数据(200ms)。服务端解析出进出人数并打印显示。 实现步骤 因为主要是在服务器上监听各设备的连接请求以及回应并打印出入人数,所以界面我设计成这样: 可以在窗体事件中绑定本地IP,代码如下:        //获取本地的IP地址 string AddressIP = string.Empty; foreach (IPAddress _IPAddress in Dns.GetHostEntry(Dns.GetHostName()).AddressList) { if (_IPAddress.AddressFamily.ToString() == "InterNetwork") { AddressIP = _IPAddress.ToString(); } } //给IP控件赋值 txtIp.Text = AddressIP; 首先我们需要定义几个全局变量 Thread threadWatch = null; // 负责监听客户端连接请求的 线程;

计算机网络介绍(一)

 ̄綄美尐妖づ 提交于 2020-03-14 15:19:49
分层的网络结构     相互通信的计算机必须高度协调才能够进行通信,仅仅一条线路是不可能的   为了处理这些 复杂的网络 问题,早在最初的阿帕网中,就 提出 了 分层的方法   分层将 庞大复杂的问题 ,转换成 若干个局部较小的问题 ,较小的问题就更加易于研究分析。    比如,唐僧取经,西天路途遥远,如果整体的看待出行问题,势必非常复杂   如果将整条路拆分为多个小段,这一段适合坐船,那一段适合骑马,这样就能够更好地解决问题    通过分层,各层之间相互独立,整体功能进行分解,每层实现独立功能   灵活型好,易于实现和维护, 当一层发生变化,不会影响另一层 ,只要他们之间的 协作接口不变   其实就是软件 开发中的解耦   关于通信协议的分层,有下面三种形式   其实 只有中间的TCP、IP是有用的   OSI理论虽然很完备,但是没有赶上互联网的发展,而且实现过于复杂   TCP/IP协议才是真正使用的协议    TCP/IP层次结构 TCP/IP分层介绍   如上图所示,现有的TCP、IP协议是分层次的。   在分层体系结构中,各层之间是完全独立的,某一层并不需要知道他的下一层是如何实现的,而仅仅是需要知道下层提供的服务   由于每一层都只是实现一种相对独立的功能,因而可以 将一个难以处理的复杂问题分解为若干个小问题。 应用层   应用层是体系结构中的最高层

linux下lk和kernel层通信方式[2]

喜你入骨 提交于 2020-03-14 13:16:14
U-Boot与Linux内核的交互 说明:本文所使用的U-Boot的版本是1.1.6,平台是S3C2440。 目录 一、简介 1.1标记列表 二、设置标记存放的地址 2.1相关的结构体定义 2.2标记存放地址的设定 三、标记的设置 3.1设置标记ATAG_CORE 3.2设置内存标记ATAG_MEM 3.3设置命令行标记ATAG_CMDLINE 3.4设置ATAG_NONE 一、简介 U-Boot与Linux内核的交互是单向的,U-Boot将各类参数传递给内核。由于他们不能同时运行,传递办法只能有一个个:U-Boot将参数放在某个约定的地方之后,在启动内核,内核启动后从这个地方获得参数。 1.1标记列表 除了 约定好参数存放的地方 外,还要 规定参数的结构 。Linux2.4.x以后的内核都以标记列表(tagged list)的形式来传递参数。标记就是一种数据结构;标记列表就是挨着存放的多个标记。标记列表以标记ATAG_CORE开始,以ATAGE_NONE结束。 标记的数据结构为tag,它是偶一个tag_header结构和一个联合体(union)组成。tag_header结构体表示标记的类型及长度,比如是表示内存还是表示命令行参数等。对于不同类型的标记使用不同的联合体,比如表示内存=时使用tag_men32,表示命令行时使用tag_cmdline。其定定义在include/asm

虚拟私有网络的介绍

别来无恙 提交于 2020-03-13 19:14:46
***介绍  随着网络经济的发展,企业的分布范围日益扩大,合作伙伴日益增多,公司员工的移动性也不断增加。这使得企业迫切需要借助电信运营商网络连接企业总部和分支机构,组成自己的企业网,同时使移动办公人员能在企业外部方便地接入企业内部网络  最初,电信运营商是以租赁专线(Leased Line)的方式为企业提供二层链路,这种方式的主要缺点是:建设时间长、价格昂贵、难于管理  此后,随着ATM(Asynchronous Transfer Mode)和帧中继FR(Frame Relay)技术的兴起,电信运营商转而使用虚电路方式为客户提供点到点的二层连接,客户再在其上建立自己的三层网络以承载IP等数据流。虚电路方式与租赁专线相比,运营商网络建设时间短、价格低,能在不同专网之间共享运营商的网络结构。这种传统专网的不足在于:依赖于专用的介质(如ATM或FR):为提供基于ATM的***服务,运营商需要建立覆盖全部服务范围的ATM网络;为提供基于FR的***服务,又需要建立覆盖全部服务范围的FR网络。网络建设成本高  速率较慢:不能满足当前Internet应用对于速率的要求  部署复杂:向已有的私有网络加入新的站点时,需要同时修改所有接入此站点的边缘节点的配置  传统专网难以满足企业对网络的灵活性、安全性、经济性、扩展性等方面的要求。这促使了一种新的替代方案的产生

安卓平台下的即时通讯 .

。_饼干妹妹 提交于 2020-03-13 17:29:53
摘要: 论文简单介绍Android 平台的特性,主要阐述了基于Android 平台简易即时通讯(IM)的 作用和功能以及实现方法,复杂的通讯如引入视频音频等可以考虑AnyChat SDK。 关键词: Android 平台;即时通讯 (本文中图表点击附件即可见) 1 Android 平台简介 Android 是Google 公司于2007年11月5日推出的手机操作系统 ,经过2年多的发展,Android平台在智能移动领域占有不小的份额,由Google为首的40 多家移动通信领域的领军企业组成开放手机联盟(OHA)。Google 与运营商、设备制造商、开发商和其他第三方结成深层次的合作伙伴关系,希望通过建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。正因如此,Android 正在被越来越多的开发者和使用者所接受。近日,Google 发言人Anthony House称, 截止到2010 年4 月15 日,Android Market 已经有3.8 万多个应用程序。 2 Android 平台特性与即时通讯的研究   Android 平台框架共由5 部分组成。底层核心是基于 Linux 2.6内核 开发的独立操作系统,该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。中间是Android 执行环境,包括系统运行库

网络体系结构

风格不统一 提交于 2020-03-13 11:04:04
1.为什么分层的原因:计算机网络解决的问题过于复杂,所以需要分层,逐个解决。 2.各层之间相互独立,下层通过接口为上层提供服务,上层通过接口享受下层的服务。 3.每层遵循某个网络协议完成本层的功能。 4.OSI参考模型有7层,上三层是资源子网能实现数据处理,下三层是通信子网能实现数据通信。 5.7层的各层作用: 应用层:用户与网络的界面,所有能和用户产生网络流量的程序。这层要记住典型的应用层服务:文件传输(FTP)、电子邮件(SMTP)、万维网(HTTP) 表示层:最后呈现在屏幕中都有哪些东西,用于处理在两个通信系统中交换信息的表示方式(语法和语义) 会话层: 向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。这是会话,也是建立同步。 传输层:负责主机中两个进程的通信,每个进程都有一个端口号,所以叫端到端的通信。传输单位是报文段或用户数据报。下面三层要管下一跳给谁,所以叫点到点通信。 网络层:主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。 数据链路层:主要任务是把网络传下来的数据报组装成帧。数据链路层的传输单位是帧。 物理层:主要任务是在物理媒体上实现比特流的透明传输,物理层传输单位是比特。 6.TCP/IP协议栈 7.结合了TCP/IP和OSI的优点的5层网络体系结果供学习使用。 来源: https://www

Private VLAN模拟实验

落花浮王杯 提交于 2020-03-12 19:22:27
PVLAN(Private VLAN),也称为“专用虚拟局域网”,采用两层VLAN隔离技术,只有上层VLAN全局可见,下层VLAN相互隔离。如果将交换机或IP DSLAM设备的每个端口化为一个(下层)VLAN,则实现了所有端口的隔离。 通常用于企业内部网,用来防止连接到某些接口或接口组中的网络设备相互通信,但却允许与默认网关进行通信。尽管各设备处于不同的pVLAN中,它们可以使用相同的IP子网。 团体VLAN(community vlan):具有相同名称的团体vlan中的设备可以相互通信,不同名称的团体vlan中的设备不能相互通信。 隔离VLAN(isolated vlan):隔离vlan中的设备只能访问公网,不能与任何vlan的中任何设备相互通信。 PVLAN中的一些使用规则: 1.一个“Primary VLAN”当中至少有1个“Secondary VLAN”,没有上限。 2.一个“Primary VLAN”当中只能有1个“Isolated VLAN”,可以有多个“Community VLAN”。 3.不同“Primary VLAN”之间的任何端口都不能互相通信(这里“互相通信”是指二层连通性)。 4.“Isolated端口”只能与“混杂端口”通信,除此之外不能与任何其他端口通信。 5.“Community端口”可以和“混杂端口”通信,也可以和同一“Community VLAN