!!!转载注明: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. 战胜忧虑<2>——忙碌可以消除忧虑

    忙碌可以消除忧虑 当你的脑筋空出来时,也会有东西进去补充,是什么呢?通常都是你的感觉.为什么?因为忧虑.恐惧.憎恨.嫉妒.和羡慕等等情绪,都是由我们的思想所控制的,这种情绪都非常猛烈.会把我们思想中所 ...

  2. 很励志的帖子,转来自勉,也反省一下自己写码这几年【奋斗10年,一个.NET程序员从0到拥有5系】

    http://bbs.csdn.net/topics/390833230 想想自己毕业近8年,真正写码也5年.从当初毕业时的拒绝写码,到迫不得已开始写码,是命运也好,是自己的不努力也罢.今天看来,写码 ...

  3. TCP/IP四层模型和OSI七层模型的概念

    转:http://blog.csdn.net/superjunjin/article/details/7841099/ TCP/IP四层模型 TCP/IP是一组协议的代名词,它还包括许多协议,组成了T ...

  4. IOS中UIWebView停止加载

    方法一: [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank" ...

  5. (C/C++) Interview in English - Points.

    Q: What is a dangling pointer? A: A dangling pointer arises when you use the address of an object af ...

  6. (WPF, MVVM) Textbox Binding

    参考:http://msdn.microsoft.com/en-us/library/system.windows.data.updatesourcetrigger(v=vs.110).aspx Te ...

  7. python3读取文件

    #coding:utf-8 rfile = open('test.txt','r') str=[] for x in rfile: str = x.split(',') for x in str: p ...

  8. Segment fault及LINUX core dump详解 (zz)

    C 程序在进行中发生segment fault(core dump)错误,通常与内存操作不当有关,主要有以下几种情况: (1)数组越界. (2)修改了只读内存. (3)scanf("%d&q ...

  9. ylbtech-LanguageSamples-XMLdoc

    ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-XMLdoc 1.A,示例(Sample) 返回顶部 “XML 文档”示例 本示例演示如 ...

  10. header('Content-type:text/html;charset = utf-8');出现中文乱码

    header('Content-type:text/html;charset = utf-8'); "="两旁不能留空格,必须紧密连写,否则出现乱码;