虚拟币交易平台开发解决方案介绍

时间:2022-11-04 17:55:44

前言

之前文章介绍了虚拟币交易平台开发的架构、虚拟币交易平台开发的钱包对接和通讯方式,本文主要对于开发交易系统非常核心的技术功能WebSocket展开介绍,以及网站开启HTTPS加密后和WebSocket的通讯方法。

为什么要使用WebSocket

对于开发一个交易系统而言,非常核心的内容就是高频次的数据实时更新和交互,如果使用AJAX轮询处理方式,客户端要不断的和服务端通讯请求数据来刷新页面,这样客户端会非常的耗资源而导致卡顿,WebSocket就是解决这种问题很好的一种方式。

WebSocket协议是基于TCP的网络协议,能够实现服务端与浏览器之间的双工通讯,服务端能够主动的发送数据给客户端(与Socket通讯一样)。

WebSocket实现原理和步骤

一、       实现原理

1.    客户端发起WebSocket连接请求,服务端给出响应(握手),发送

2.    客户端与WebSocket服务端建立一个数据连接通道

3.    客户端发送数据给WebSocket服务端

4.    WebSocket服务端推送数据给客户端

虚拟币交易平台开发解决方案介绍

 

二、       实现步骤

1.    创建一个WebSocket服务端(根据开发语言的不同,实现方式也不同)

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去处理。