!!!转载注明:http://www.cnblogs.com/yinlong1991/p/unity_ylwebsocket.html

Unity WebSocket 使用

Demo 线上测试地址

UnityWebSocket 使用

1. UnityWebSocket

2. 使用Unity导入package。

  • WebSocket.jslib

      路径:Plugins/WebSocketJS/WebSocketJS.jslib
    作用:Unity发布WebGL版本会将其加入到js运行库中。
  • WebSocket.cs

      作用:作为一个WebSocket连接。
  • WebSocketReceiver.cs

      作用:与jslib交互,负责收发多个WebSocket消息。
    注意:该脚本必须挂在场景中作为根节点,
    且名为WebSocketReceiver的GameObject上,
    这样才能接收到jslib通过SendMessage方式发来消息 !!!
  • Demo场景

      作用:WebSocket的使用方法示例。

3. 使用方法:

  • 创建WebSocket实例

// 创建实例
string address = "ws://127.0.0.1:8730/test";
WebSocket scoket = new WebSocket(address); // 注册回调
scoket.onOpen += OnOpen;
scoket.onClose += OnClose;
scoket.onReceive += OnReceive; // 连接
socket.Connect(); // 发送数据
socket.Send(data);//发送数据类型byte[] // 关闭连接
socket.Close();

4. 发布

  • 需要将Unity项目切换为WebGL平台,并Build。

  • 将生成好的项目文件发布至Tomcat,启动Tomcat,在浏览器中打开相应链接路径。(例如:http://127.0.0.1/UnityWebSocketDemo/

5. WebSocket服务器

  • 项目发布完成后,需要一个WebSocket服务器收发消息,以下是Demo版本对应的服务器。

  • 服务器Demo下载

  • 提供简单的WebSocket消息收发

  • 使用了开源项目 websocket-sharp

6. 再次提醒

  • 注意:WebSocketReceiver 脚本必须挂在场景中作为根节点,

    且名为 WebSocketReceiver 的 GameObject 上,

    这样才能接收到 jslib 通过 SendMessage 方式发来消息 !!!

UnityWebSocket的更多相关文章

  1. Unity WebSocket(仅适用于WebGL平台)

    !!!转载注明:http://www.cnblogs.com/yinlong1991/p/unity_ylwebsocket.html Unity WebSocket 使用 1.下载 YLWebSoc ...

  2. Unity WebGL WebSocket

    在线示例 http://39.105.150.229/UnityWebSocket/ 快速开始 安装环境 Unity 2018.3 或更高. 无其他SDK依赖. 安装方法 通过 OpenUPM 安装 ...

随机推荐

  1. openstack namespace 的应用

    查看虚拟机网络连通性 1.neutron port-list | grep IP 2.neutron port-show ID 查看subnet 3.neutron subnet-show ID 查看 ...

  2. 【设计模式】结构型04桥接模式(Bridge Pattern)

    学习地址:http://www.runoob.com/design-pattern/bridge-pattern.html 桥接模式(Bridge Pattern) 桥接模式(Bridge patte ...

  3. Springboot 连接 使用 Redis Example

    通过一个简单的例子使用Springboot 连接并使用Redis. 本文假设已经安装好Redis. 1.首先将URL转换为一个ID ,并使用 StringRedisTemplate 将ID 和 URL ...

  4. WebGL 着色器偏导数dFdx和dFdy介绍

    本文适合对webgl.计算机图形学.前端可视化感兴趣的读者. 偏导数函数(HLSL中的ddx和ddy,GLSL中的dFdx和dFdy)是片元着色器中的一个用于计算任何变量基于屏幕空间坐标的变化率的指令 ...

  5. Ubuntu18.04安装postgresql-10

    Ubuntu18安装postgresql-10 最近切换Ubuntu作为办公系统,所有软件安装都要重来一遍. 官方文档: https://www.postgresql.org/download/lin ...

  6. asyncio系列之sleep()实现

    先来看个例子,自己实现的模拟耗时操作 例1 import types import select import time import socket import functools class Fu ...

  7. ElasticSearch 7.1.1 集群环境搭建

    1. 集群简介 三台机器,均用于保存数据且可被选为master节点 服务版本 服务 版本 elasticsearch 7.1.1 jdk 1.8 1. 创建elsearch用户 不建议直接使用root ...

  8. JVM结构的简单梳理

    #cnblogs_post_body img { width: 500px; height: auto; } JVM是什么 JVM的基本特性 JVM的流程结构 1. Java编译(Java Compi ...

  9. C# 中的委托和事件本质讲解

    C# 中的委托和事件 文中代码在VS2005下通过,由于VS2003(.Net Framework 1.1)不支持隐式的委托变量,所以如果在一个接受委托类型的位置直接赋予方法名,在VS2003下会报错 ...

  10. 常见Code Review过程中发现的问题-续

    上一篇列举了一些比较常见的Code Review问题列表,文末有链接,可追溯查看.本篇为上篇的姊妹篇,继续列举一些上篇遗漏的或不易发现的问题清单,希望能整体性把一些常见的问题表述出来. 测试数据不具有 ...