ws

WebSocket

不羁的心 提交于 2019-12-06 05:42:43
一 . WebSocket原理   1.1.背景 WebSocket 是基于Http 协议的改进,Http 为无状态协议,基于短连接,需要频繁的发起请求,第二 Http 只能客户端发起请求,服务端无法主动请求。   1.2.相同点 1.都是基于TCP的应用层协议。 2.都使用Request/Response模型进行连接的建立。 3.在连接的建立过程中对错误的处理方式相同,在这个阶段WS可能返回和HTTP相同的返回码。 4.都可以在网络中传输数据。   1.3.不同点 1.WS使用HTTP来建立连接,但是定义了一系列新的header域,这些域在HTTP中并不会使用。 2.WS的连接不能通过中间人来转发,它必须是一个直接连接。 3.WS连接建立之后,通信双方都可以在任何时刻向另一方发送数据。 4.WS连接建立之后,数据的传输使用帧来传递,不再需要Request消息。 5.WS的数据帧有序。 6.WebSocket 分为握手和数据传输   1.4.WebSocket的握手 客户端的握手如下: GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ== Origin: http://example

简单了解一个WSDL,SOAP的格式

回眸只為那壹抹淺笑 提交于 2019-12-06 03:39:17
简单了解一个WSDL,SOAP的格式 2016-06-20 09:34:43 树先生i 阅读数 5187 收藏 更多 分类专栏: WebService 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_18895659/article/details/51714968 WSDL网络服务描述语言是 Web Service 的描述语言,它包含一系列描述某个web service的定义。 WSDL-说明服务在哪里,如何调用,其实就是一个使用说明书 上面三个红框分别对应 1、ws所提供的方法-即服务 2、WS的名称 3、WS的地址 SOAP的百度百科的解释是: 简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于 XML ( 标准通用标记语言 下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。 SOAP协议的范本:-请求示例: 以下发出HTTP请求,但不同的是向服务器发送的是XML数据! SOAP协议:-响应示例: 响应的信息,同发送信息一样,先必须是HTTP协议,然后再遵循SOAP协议。 来源: https://www.cnblogs.com/wfy680/p/11960910.html

Play 2.0 用户指南 - 调用WebServices -- 针对Scala开发者

筅森魡賤 提交于 2019-12-05 17:59:26
Play WS API 有时候我们需要在Play应用中调用外部HTTP服务。Play通过play.api.libs.ws.WS库提供支持,它提供了一种异步HTTP调用的方法。 任何play.api.libs.ws.WS的调用將返回Promise[play.api.libs.ws.Response],稍候我们可以用Play提供的异步机制处理。 使用HTTP调用 使用WS.url()指定一个URL发送一个HTTP请求. 你將得到一个构建器,可用它设置一些HTTP选项,如头信息. 通过调用一个对应的HTTP方法结束. val homePage: Promise[ws.Response] = WS.url("http://mysite.com").get() 或者 val result: Promise[ws.Response] = { WS.url("http://localhost:9001/post").post("content") } 检索HTTP响应结果 调用是以异步的方式,你需要以Promise[ws.Response]获取结果。你可以將多个promises组合以Promise[Result]结束, 让它直接由Play服务器处理. def feedTitle(feedUrl: String) = Action { Async { WS.url(feedUrl).get()

Python快速设置Excel表格边框

痴心易碎 提交于 2019-12-05 17:00:13
import xlwings as xw #打开存好的excel app = xw.App() #设置应用 wb = xw.Book("E:/Data/小蜜蜂超市销售报表.xlsx") #打开文件 ws = wb.sheets['Sheet1'] #选择表格 last_column = ws.range(1, 1).end('right').get_address(0, 0)[0] #获取最后列 last_row = ws.range(1, 1).end('down').row #获取最后行 a_range = f'A1:{last_column}{last_row}' #生成表格的数据范围 #设置边框 ws.range(a_range).api.Borders(8).LineStyle = 1 #上边框 ws.range(a_range).api.Borders(9).LineStyle = 1 #下边框 ws.range(a_range).api.Borders(7).LineStyle = 1 #左边框 ws.range(a_range).api.Borders(10).LineStyle = 1 #右边框 ws.range(a_range).api.Borders(12).LineStyle = 1 #内横边框 ws.range(a_range).api.Borders

五分钟学会HTML5的WebSocket协议

我怕爱的太早我们不能终老 提交于 2019-12-05 06:05:58
1、背景   很多网站为了实现推送技术,所用的技术都是 Ajax轮询 。轮询是在特定的的时间间隔由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。HTML5新增的一些新协议 WebSocket ,可以提供在单个TCP连接上 提供全双工,双向通信 ,能够节省服务器资源和带宽,并且能够实时进行通信。 2、WebSocket   传统的http也是一种协议,WebSocket是一种协议,使用http服务器无法实现WebSocket, 2.1.浏览器支持情况 基本主流浏览器都支持 2.2.优点 相对于http有如下好处: 1.客户端与服务器只建立一个TCP连接,可以使用更少的连接。 2.WebSocket服务器端可以主动推送数据到客户端,更灵活高效。 3.更轻量级的协议头,减少数据传送量。 对比轮训机制 3、WebSocket用法   我们了解WebSocket是什么,有哪些优点后,怎么使用呢? 3.1.WebSocket创建 WebSocket使用了自定义协议,url模式与http略有不同,未加密的连接是ws://,加密的连接是wss://,WebSocket实例使用 new

doraemon的python Flask框架 websocket和redis

陌路散爱 提交于 2019-12-04 12:30:01
3. CBV from flask import views ​ class Login(view.MethodView): def get(*args,**kwargs): pass app.add_url_rule("url",endpoint=None,view_function=Login.as_view(name="当前视图函数名,必须唯一,因为他就是endpoint")) 4.Redis 指令: set key value 用来在数据库中设置一个键值对 哈希存储结构{key:value} get key 返回value 用来从数据库转给你去除key相应的value key * 查询当前库中所有的key select dbnum 范围是0-15 用来切换数据库达到数据分离 5.websocket 需求:制作一个即时的通讯工具 先做前段 建立webserver 用Django或者Flask 制作聊天功能 断开连接 连接的分类: 轮询: 不能保证数据实时性 AB Client -> 无限循环和Server对话 有xx的消息吗 长轮询 AB Client -> Client发起请求至Server 有xx的消息吗 -> 等待消息时间 1x/s ->主动断开连接 -> 收到消息主动返回 长连接: AB client ->Server 建立连接并保持不断->A to B -

Java调用WebService方法总结(3)--wsimport调用WebService

二次信任 提交于 2019-12-04 08:49:46
wsimport是JDK自带的把WSDL转成Java的工具,可以很方便的生成调用WebService的代码。本中所使用到的软件版本:Java 1.8.0_191。 1、准备 参考 Java调用WebService方法总结(1)--准备工作 2、调用 2.1、根据wsdl生成代码 执行命令: %JAVA_HOME%/bin/wsimport -keep -extension -encoding utf-8 -d d:/temp -p com.inspur.ws.wsimport http://www.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl -d 指定生成文件的目录 -p 指定包名 生成的代码如下: 2.2、用生成的代码调用WebService package com.inspur.ws; import com.inspur.ws.a.TraditionalSimplifiedWebService; /** * * 用wsimport生成的代码调用WebService * */ public class WsImport { public static void main(String[] args) { TraditionalSimplifiedWebService service =

cxf+spring实现ws-security的数字证书验证方式

前提是你 提交于 2019-12-03 19:21:31
第一步 生成可用的数字证书 使用命令行打开您要生成数字证书的路径 生成证书还是比较麻烦的,要用到 jdk 的一个工具 ——keytool 首先,创建客户端 KeyStore 和公钥 在命令行运行: 1 、创建私钥和 KeyStore : keytool -genkey -alias clientprivatekey -keypass keypass -keystore Client_KeyStore.jks -storepass storepass -dname "CN=tongtech.com,C=CN" -keyalg RSA 创建 KeyStore ,文件名字为 Client_KeyStore.jks ,里面有个名为 clientprivatekey 的私钥。 2 、给私钥进行自签名: keytool -selfcert -keystore Client_KeyStore.jks -storepass storepass -alias clientprivatekey -keypass keypass 签名成功,无任何提示。 3 、导出私钥 作用是导出的证书将作为公钥保存到 TrustStore 中。 keytool -export -alias clientprivatekey -file Client_PublicCert.cer -keystore Client

Delphi - TXMLDocument created at run-time generates AV, with component on the form is working

匿名 (未验证) 提交于 2019-12-03 08:44:33
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm creating an instance of TXMLDocument at runtime, to load and parse a XML file. You can check the code below: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls; type Txml = class(TForm) // XMLDocument1: TXMLDocument; Memo1: TMemo; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var xml: Txml; implementation {$R *.dfm} procedure Txml.FormCreate(Sender: TObject); var i,j:integer

Writing heirarchical JSON data to Excel xls from Python?

匿名 (未验证) 提交于 2019-12-03 08:28:06
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I want to write some data from python to xlsx. I currently have it stored as JSON, but it doesn't matter what it is going out of Python. Here's what the JSON for a single article would look like: { 'Word Count': 50 'Key Words': { ['Blah blah blah', 'Foo', ... ] } 'Frequency': { [9, 12, ... ] } 'Proper Nouns': { ['UN', 'USA', ... ] } 'Location': 'Mordor' } I checked out the XlsxWriter module but can't figure out how to translate hierarchical data that is not necessarily the same size (note the number of proper nouns between the two data