本文章主要围绕虚拟币交易平台开发的核心技术功能展开部分介绍,以及网站开启https加密后和websocket的通讯方法。
为什么要使用websocket
对于云豹科技开发一个交易系统而言,非常核心的内容就是高频次的数据实时更新和交互,如果使用AJAX轮询处理方式,客户端要不断的和服务端通讯请求数据来刷新页面,这样客户端会非常的耗资源而导致卡顿,websocket就是解决这种问题很好的一种方式。
websocket协议是基于TCP的网络协议,能够实现服务端与浏览器之间的双工通讯,服务端能够主动的发送数据给客户端(与Socket通讯一样)。
websocket实现原理和步骤
一、实现原理
1. 客户端发起WebSocke连接请求,服务端给出响应(握手),发送
2. 客户端与WebSocke服务端建立一个数据连接通道
3. 客户端发送数据给websocket服务端
4. websockett服务端推送数据给客户端
二、 实现步骤
1. 创建一个websockett服务端(根据开发语言的不同,实现方式也不同)
2. 客户端实现方式
//与服务端创建连接
var ws = newWebSocket("ws://localhost:8888");
//建立连接成功后执行的回调函数
ws.onopen =function(event) {
console.log("Connection open.");
ws.send("Hi Message");
};
//接收到服务端发送数据进行处理(重点)
ws.onmessage =function(event) {
console.log( "Received Message: " +evt.data);
};
//连接关闭后执行的回掉函数
ws.onclose =function(event) {
console.log("Connection cloed.");
};
网站开启https后如何调用 websocket
为了数据传输安全很多网站都会启用https,网站启用https后,无法再使用ws://方式去连接服务端,只能用wss://的方式去连接,这样要求我们要做如下更改:
1. 服务端更改:服务要改成支持与https同域名(域名证书)的https连接方式
2. 客户端把ws://的都要改成wss://并且不能使用IP地址去访问,只能通过域名去访问,如:wss://xxx.aaa.com
虚拟币交易平台开发总结
交易平台系统都会有高频次的数据刷新需求,那么websocket就是很好的一种技术选型,首先根据需求建立一个websocket服务端,然后将数据刷新的的业务流程改成websocket去处理。