!!!转载注明: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. laravel5-目录结构分析

    laravel5-目录结构分析 (2016-01-21 11:24:03) 转载▼     一.环境配置: $ lsb_release -a No LSB modules are available. ...

  2. 51nod1258 序列求和V4

    T(n) = n^k,S(n) = T(1) + T(2) + ...... T(n).给出n和k,求S(n).   例如k = 2,n = 5,S(n) = 1^2 + 2^2 + 3^2 + 4^ ...

  3. QueryRunner的API

    org.apache.commons.dbutils Class QueryRunner java.lang.Object org.apache.commons.dbutils.AbstractQue ...

  4. SVN 主干(trunk)、分支(branch )、标记(tag)

    主干(trunk).分支(branch ).标记(tag) 在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆. 在实现上,branch和tag,对于svn都是使用copy实现的, ...

  5. activiti基础操作

    package activitiTest; import java.io.InputStream; import java.util.List; import java.util.zip.ZipInp ...

  6. (VS) TFS lost mapping suddenly.

    家里的网络不是很稳定.今天突然发现 TFS 上所有的 mapping都突然没有了. 尝试去remapping,在Source Control Explorer 中右击源文件,然后选择 Advanced ...

  7. 手势识别(一)--手势基本概念和ChaLearn Gesture Challenge

    以下转自: http://blog.csdn.net/qq1175421841/article/details/50312565 像点击(clicks)是GUI平台的核心,轻点(taps)是触摸平台的 ...

  8. MongoDB 3.0 导入命令

    在MongoDB的bin目录下执行 ./mongoimport -h 192.168.77.129 --db test --collection restaurants --drop --file / ...

  9. python (10) 文件夹的创建与文件夹的删除

    有时需要在代码中对文件或者文件夹 进行删除,或者添加 导入的包:import os,shutil 新建文件夹 import os,shutil path = os.getcwd() #获得当前目录 # ...

  10. 为FaceBook审核提交模拟器包及自己验证模拟器包

    为FaceBook审核提交模拟器包及自己验证模拟器包折腾了一番,因为我的项目是用cocoapods管理的,所以跟普通直接运行name.xcodeproj项目有所不同. 切入正题 1.先设置 relea ...