!!!转载注明: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 方式发来消息 !!!

Unity WebSocket(仅适用于WebGL平台)的更多相关文章

  1. Unity5中WebGL平台封装的一些技巧

    最近在接触unity的WebGL平台,其实这个平台作为Web Player的替代品,已经能满足大部分的开发需求,而且不需要额外的插件支持,确实方便了不少,但开发中依旧遇到了不少问题,在这里记录和共享一 ...

  2. Mysql下Limit注入方法(此方法仅适用于5.0.0<mysql<5.6.6的版本)

    SQL语句类似下面这样:(此方法仅适用于5.0.0<mysql<5.6.6的版本) SELECT field FROM table WHERE id > 0 ORDER BY id ...

  3. 多例模式,保证实例的唯一性,仅适用于form窗体

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...

  4. php图像处理插件imagick安装(仅适用于86位,php5.4非安全环境-16px)

    phpImageMagick-6.7.7-5-Q16-windows-dll(加测试代码,经测试,仅适用于86位,php5.4安全环境-16px) 下载地址:http://pan.baidu.com/ ...

  5. PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。 https://developer.qiniu.com/pili/sdk/…

    PLDroidPlayer PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单.快捷的接口,帮助开发者在 ...

  6. 在windows平台上构建自己的PHP(仅适用于php5.2)

    构建步骤 1, 安装vs2008 2, 安装windows sdk 6.1 3, 下载php 5.2源码,可以从此处获取Releases(先不要解压) 4, 下载bindlib_w32.zip,htt ...

  7. unity项目build成webgl时选择生成目录(解决方法)

    在unity里点击File>>Build Settings...>>勾选你要生成的Scenes>>选择webgl>>后面Development Buil ...

  8. Unity中的 原生插件/平台交互 原理

    http://blog.csdn.net/u010019717/article/details/78451660 声明:  内容摘录自:  http://gad.qq.com/article/deta ...

  9. 关于Unity -Vuforia -Android 开发 ,平台的搭建(极品菜鸟完整版)

    一.首先安装 java jdk , 度娘 “JDK” 进入官网下载即可,链接如下: http://www.oracle.com/technetwork/java/javase/downloads/jd ...

随机推荐

  1. UDP 单播、广播和多播

    阅读目录(Content) 一.UDP广播 二.UDP多播 1.多播(组播)的概念 2.广域网的多播 三.UDP广播与单播 广播与单播的比较 使用UDP协议进行信息的传输之前不需要建议连接.换句话说就 ...

  2. Mysql中is marked as crashed and should be repaired问题的处理

    问题描述:浏览页面提示:.bbs[Table]threads' is marked as crashed and should be repaired 产生原因:表在查询或其它系统操作下损坏. 解决方 ...

  3. 黄聪:wordpress如何获取当前分类页面的ID、名称、别名(slug)

    <? global $wp_query; $cat_ID = get_query_var('cat'); $category = get_category($cat_ID); echo $cat ...

  4. mapreduce计算框架

    一. MapReduce执行过程 分片: (1)对输入文件进行逻辑分片,划分split(split大小等于hdfs的block大小) (2)每个split分片文件会发往不同的Mapper节点进行分散处 ...

  5. 如何获取客户端IP、操作系统、浏览器

    request.getRemoteAddr();//获取IP request.getHeader("User-Agent");//获取操作系统信息.浏览器信息. protected ...

  6. 正则表达式中的\b

    转自百度知道:https://zhidao.baidu.com/question/58688915.html\b表示的应该是ASCII码中的BS字符(退格字符),匹配字与字中间那个看不见的东西(即一个 ...

  7. SpringAOP所支持的AspectJ切点指示器

    在spring中尝试使用AspectJ其他指示器时,将会抛出IllegalArgumentException异常. 当我们查看上面展示的这些spring支持的指示器时,注意只有execution指示器 ...

  8. python(6)时间戳和北京时间互转,输出当前的时间和推到七天前的日期

    项目发展的需要:(包含时间函数)time datetime 时间戳和北京时间互转 import time import datetime s = '2015-04-17 11:25:30' d = d ...

  9. serv-u设置被动模式注意的问题

    1.在“本地服务器”->设置->高级里面把端口范围设置一下: 2.在防火墙的入站规则里设置一下上面的端口范围

  10. 转-TabHost组件(二)(实现底部菜单导航)

    http://www.cnblogs.com/lichenwei/p/3975095.html 上面文章<安卓开发复习笔记——TabHost组件(一)(实现底部菜单导航)>中提到了利用自定 ...