UnityWebSocket | 双端通信支持Text/Binary

跳转官方仓库地址
有多个项目使用该库,平台有PC、WebGL。

一、说明

1)原理

  • WebSocket是H5提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议。
  • 数据通常在两个站(点对点)之间进行传输,按照数据流向可分为三种传输模式:单工、半双工、全双工。单工通信只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号传输方向,比如:计算机和打印机之间的通信。半双工通信允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输,比如:对讲机。全双工通信允许数据同时在两个方向上传输,即有两个信道,因此允许同时进行双向传输,比如:电话。

2)优势

  • 相比HTTP的通信只能由客户端发起,WebSocket是双向通信,客户端与服务端之间可以互相发送消息。
  • 服务器端实现容易。
  • 良好兼容HTTP,默认端口是80(WebSocket)和443(WebSocket SSL),复用HTTP握手通道,不容易屏蔽,能通过各种代理服务器。
  • 数据格式轻量,开销小,通信高效。
  • 可以发送string和bytes。
  • 协议标识符ws,加密则为wss。支持扩展。

二、使用

UnityWebSocket | 双端通信支持Text/Binary_第1张图片
这是仓库master分支的代码结构,区分了是否为WebGL平台,整体来说代码量不大,阅读学习难度不高。


UnityWebSocket | 双端通信支持Text/Binary_第2张图片
作者使用GUI绘制的界面,Demo中代码使用如上图所示。使用也很简单。


UnityWebSocket | 双端通信支持Text/Binary_第3张图片
在线演示地址


WebGL平台的使用、发布、部署,请参照官方说明文档

你可能感兴趣的:(网络,unity,websocket)