!!!转载注明: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. oracle10g登录em后,提示“java.lang.Exception: Exception in sending Request :: null”

    出现错误时登录企业管理器时出现的界面 出现这种错误一般是因为没有设置时区,一般默认的是agentTZRegion=GMT,也就是GMT.所以大家只要设置了这个东西,然后重新启动dbconsole就可以 ...

  2. 【算法随记三】小半径中值模糊的急速实现(16MB图7.5ms实现) + Photoshop中蒙尘和划痕算法解读。

    在本人的博客里,分享了有关中值模糊的O(1)算法,详见:任意半径中值滤波(扩展至百分比滤波器)O(1)时间复杂度算法的原理.实现及效果 ,这里的算法的执行时间和参数是无关的.整体来说,虽然速度也很快, ...

  3. hadoop之文件管理基本操作

    # 格式化hdfs hadoop namenode -format # 查看hadoop下的文件夹 hadoop fs -ls # 创建hdfs文件夹 hadoop fs -mkdir /user/i ...

  4. git实战经验(很实用)

    推荐学习git很好的网站https://www.breakyizhan.com/git/216.html 以下内容,虽然编排不行,但是请认真的读下去,都是自己平时请自操作的,放心使用. 这是个人的gi ...

  5. 【搜索引擎】Solr全文检索近实时查询优化

    设置多个搜索建议查找算法 <searchComponent name="suggest" class="solr.SuggestComponent"> ...

  6. 从零开始的Wordpress个人博客搭建

    0x00前言 在博客园写了有一年的博客了,也想换换新口味,wordpress的众多的主题和个性化设置非常符合我的喜好,所以捣鼓了一天也算是把它搭好了. 直接在服务器上搭建wordpress还需要配置m ...

  7. MyBatis中二级缓存和延时加载同时开启的问题

    首先,二级缓存默认不开启! 要配置 <setting name="cacheEnabled" value="true"/> 在MyBatis中:一级 ...

  8. NSCache缓存怎么来的

    什么是NSCache NSCache主要用来存储临时数据(键值对),当内存资源不够时,系统会自动释放部分数据.它有三个特点: • NSCache为了保持不占用过多的系统内存,它有多种自动回收内存策略: ...

  9. 关于学习js的Promise的心得体会

    最近一直在研究js的Promise对象,其中有一篇blog写得比较通俗易懂,转发如下: http://www.cnblogs.com/lvdabao/p/es6-promise-1.html 参照上面 ...

  10. Null作为参数的时候,Java编译器如何调用函数?

    public class TestNull { public void method(Object o){ System.out.println("Object Version") ...