通信

Flash Socket通信的安全策略问题 843端口

烂漫一生 提交于 2020-03-02 07:57:22
1、问题描述 将flash发布为html格式后,加载页面后,swf无法与服务器进行socket通信。Flash端显示的错误为: securityErrorHandler信息: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"] 在服务器端显示的信息是由客户端尝试进行连接,但是无法接受数据。接受的数据显示为空。 2.问题原因: 最新的Flash player 9.0.124.0,当flash文件要进行socket通信的时候,需要向服务器端获取crossdomain.xml文件。如果找不到就出现客户端无法连接服务器的现象。 了解flash发起socket通信的三个过程 当封装在页面的flash发起socket通信请求的时候会先寻找服务器端的843端口,获取Crossdomain.xml文件,当服务器没有开启843的时候,flashPlayer会检查发起请求的swf文件中中有没有使用Security.loadPolicyFile来加载策略文件Crossdomain.xml,如果还是没有就会看这个发起请求的swf要连接的目标端口有没有策略文件。如果都没有那么连接失败,返回如上的出错提示。 为什么老版本的Flash

物联网原理与技术--第二章

浪子不回头ぞ 提交于 2020-03-02 07:40:58
第二章 传感网通信协议 物理层协议 传感网络分层架构 物理层协议 作用:负责将比特流信息转换成最适于在无线信道上的传输的信号。 功能: 传输频率的选择 载波频率的生成 信号检测 调制以及信息加密 IEEE 802.15.4物理层标准 该标准在3个不同的频带上总共指定了27个 半双工信道 通常使用2.4GHz ISM公用频段,范围从2400到 2483.5MHz 采用半正弦偏移四相相移键控(O-QPSK)调制方式 采用直扩扩频(DSSS) 在该频段有16个信息传输速率为250kbit/s的信道可用 射频接收机的灵敏度要求为-85dB 该频段的理想传输距离约为200m 各频段通用规范 MAC层协议 MAC(Medium Access Control)协议决定无线传感网络中无线信道的使用方式。 负责为节点分配无线通信资源 影响传感网高效通信的关键协议 网络吞吐量 节点能耗 传感网节点能量有限且难以补充 能量包括主要包括:通信消耗,感知消耗,计算能耗 其中,通信能耗所占比重最大,减少通信能耗是延长网络生存时间的有效手段 MAC协议以减少通信消耗,最大化网络生存时间为首要设计目标 IEEE 802.15.4的MAC 该子层定义了MAC层帧结构的以保证用最低复杂度实现在多噪声无线信道环境下的可靠数据传输 帧格式: S-MAC(Sensor-MAC) 网络中所有的节点都同步

ESP32的ESP-NOW说明:板之间最简单的无线通信(兼容ESP8266)

那年仲夏 提交于 2020-03-02 07:25:30
在本指南中,我们将向您展示如何使用ESP-NOW通信协议在两个ESP32板之间建立双向通信。 例如,两个ESP32板将交换传感器读数(在空旷的范围内可达220米〜722英尺)。 观看视频简介 视频截图 介绍ESP-NOW 项目概述 先决条件 ESP32附加Arduino IDE 安装库 所需零件 获取单板的MAC地址 原理图 ESP32双向通讯ESP-NOW代码 代码如何工作 详情参阅http://viadean.com 来源: CSDN 作者: 国外课栈 链接: https://blog.csdn.net/jiyotin/article/details/104600331

TCP/IP网络相关

爱⌒轻易说出口 提交于 2020-03-02 04:59:27
链路层 主要解决局域网内的主机之间的通信问题,采用MAC地址来区分各个主机(MAC:每个网卡都有独立的MAC地址 ,与地域无关),通过广播的方式来发送数据,所以只能用于小范围的通信。 数据头信息主要包括: 发送方MAC地址 接收方MAC地址 网络层 主要解决Internet中的各个主机之间的通讯的问题,通过IP来查找主机(IP:与地域有关,可以认为每台机器的IP不是固定的) 数据头信息主要包括: 发送方IP地址 接收方IP地址 其他信息 传输层 主要用于解决多个应用程序同时使用网络是的识别的问题,引入的端口的概念 UDP 简单,但可靠性差 源端口 目标端口 其他信息 TCP 复杂,可靠性好 源端口 目标端口 其他信息 应用层 应用程序具体的协议,如http,ftp等 数据帧图示如下 来源: oschina 链接: https://my.oschina.net/u/552375/blog/737140

3-socketserver

不羁的心 提交于 2020-03-02 03:03:06
基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环 socketserver模块中分两大类:server类(解决链接问题)和request类(解决通信问题) server类: request类: 继承关系: 以下述代码为例,分析socketserver源码: ftpserver=socketserver.ThreadingTCPServer(('127.0.0.1',8080),FtpServer) ftpserver.serve_forever() 查找属性的顺序:ThreadingTCPServer->ThreadingMixIn->TCPServer->BaseServer   1、实例化得到ftpserver,先找类ThreadingTCPServer的__init__,在TCPServer中找到,进而执行server_bind,server_active   2、找ftpserver下的serve_forever,在BaseServer中找到,进而执行self._handle_request_noblock(),该方法同样是在BaseServer中   3、执行self._handle_request_noblock()进而执行request, client_address = self.get_request()(就是TCPServer中的self

网络协议

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-01 22:44:08
计算机网络 随着发展,计算机被一个个的连接起来,形成了一个计算机网路,从而实现了信息共享,远距离传递信息等工作。 计算机网络,根据规模可分为2种: WAN:Wide Area Network(广域网) LAN:Local Area Nerwork(局域网) 网络协议 计算机之间通过网络实现通信时需事先达成的一种“约定”;这种“约定”使那些由不同厂商的设备,不同CPU及不同操作系统组成的计算机之间,只要遵循相同的协议就可以实现通信。 ISO(国际标准化组织)制定了一个国际标准OSI(开放式通信系统互联参考模型) 1、物理层(physical layer) 所谓的物理层,是指光纤、电缆或者电磁波等真实存在的物理媒介。这些媒介可以传送物理信号,比如亮度、电压或者振幅。对于数字应用来说, 我们只需要两种物理信号来分别表示0和1,比如用高电压表示1,低电压表示0,就构成了简单的物理层协议。 针对某种媒介,电脑可以有相应的接口,用来接收物理信号,并解读成为0/1序列。 2、连接层(link layer) 在连接层,信息以帧(frame)为单位传输。所谓的帧,是一段有限的0/1序列。 连接层协议的功能就是识别0/1序列中所包含的帧。 比如说,根据一定的0/1组合识别出帧的起始和结束。在帧中,有收信地址(Source, SRC)和送信地址(Destination, DST)

网络编程之网络基础

一个人想着一个人 提交于 2020-03-01 22:42:08
计算机网络: 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信息等资源。 网络编程的目的: 直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯。 网络编程中有两个主要的问题: 1.如何准确地定位网络上一台或多台主机;定位主机上的特定的应用 2.找到主机后如何可靠高效地进行数据传输 IP地址: InetAddress ➢唯一的标识Internet上的计算机(通信实体) ➢本地回环地址:(hostAddress): 127.0.0.1 主机名(hostName): localhost ➢IP地址分类方式1: IPV4 和IPV6 IPV4: 4个字节组成,4个0-255。 大概42亿,30亿都在北美,亚洲4亿。2011年初已经用尽。以点分十进制表示,如192.168.0.1 IPV6: 128位 (16个字节),写成8个无符号整数,每个整数用四个十六进制位表示,数之间用冒号(: )分开,如: 3ffe:3201:1401:1280:c8ff:fe4d:db39:1984 ➢IP地址分类方式2:公网地址:(万维网使用)和私有地址(局域网使用)。192.168.开头的就是私有址址,范围即为192.168.0.0–192. 168.255.255,专门为组织机构内部使用 ➢特点

minifilter 与用户态的通信

梦想与她 提交于 2020-03-01 21:05:20
驱动层的步骤 1. 创建通信端口    FltCreateCommunicationPort     对于安全对象,必须设置OBJ_KERNEL_HANDLE。     ServerPort 监听客户端连接请求的端口。     第三个参数ObjectAttributes 通过InitializeObjectAttributes初始化,其中包含了端口名称。方便应用层打开。      ConnectNotifyCallback 用户态连接回调,这里对多个连接进行一些区别操作。     比如ClientPort,表示用户态与内核建立的新连接的客户端端口句柄。     minifilter必须把该句柄传递FltSendMessage之类的函数,作为第二个参数。     与FltCreateCommunicationPort返回的ServerPort 不同。     并且一般在DisconnectNotifyCallback 中调用FltCloseClientPort释放。      DisconnectNotifyCallback 客户端所有连接端口中断,或者minifilter卸载时的回调。      *** MessageNotifyCallback 用户态消息处理回调。     用户态通过FilterReplyMessage发送的消息,都在这里处理。 2. 关闭通信端口   

从输入URL网址到页面呈现发生了什么

风格不统一 提交于 2020-03-01 19:56:01
从两方面分析:网络通信+页面渲染 如果想要了解TCP/IP推荐两篇: TCP/IP && TCP/IP DNS(域名系统【 Domain Name System ) 网络通信部分 第一步:DNS解析URL对应的IP(输入URL,可能为域名,可能为IP,如果是域名,要进行DNS解析,解析为该域名对应的IP地址); DNS解析: 客户端先检查host文件里是否有这个网址映射关系,有,结束完成解析,进行第二步,没有继续查找 查找本地DNS解析器缓存是否有这个网址映射关系,有,结束完成解析,进行第二步,没有继续查找 查找本地DNS服务器,如果要查询的域名,包含在本地配置区域资源中,结束完成解析,进行第二步,没有由本地域名服务器向根域名服务器发起查询(迭代查询) 迭代查询,按根域服务器 ->顶级域,.cn->第二层域,hb.cn ->子域,www.hb.cn的顺序找到IP地址。 第二步:获取到IP之后,建立TCP链接,三次握手。 TCP的三次握手: 第一次握手:客户端A将标志位SYN置为1,随机产生一个值为seq=J(J的取值范围为=1234567)的数据包到服务器,客户端A进入SYN_SENT状态,等待服务端B确认; 第二次握手:服务端B收到数据包后由标志位SYN=1知道客户端A请求建立连接,服务端B将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K