【问题标题】:Convert C# Websocket example to Unity MonoBehaviour将 C# Websocket 示例转换为 Unity MonoBehaviour
【发布时间】:2017-01-28 17:08:15
【问题描述】:

有点 C# 菜鸟。
尝试使用 Websocket CSharp 库 http://sta.github.io/websocket-sharp/ 在 Unity 中创建套接字服务器。
如何将以下内容转换为 Monobehaviour,以便我可以简单地附加到游戏对象并运行?
我很清楚我正在扩展 Monobehaviour 并且我正在处理 AwakeStartUpdate 方法,但是对于嵌套类来说有点模糊, namespaces , 下面我将在我的 Start 方法中放入什么代码,以及是否应该将所有内容都保存在一个 .cs 文件中,或者将其分解,每个类一个文件。

using System;
using WebSocketSharp;
using WebSocketSharp.Server;

namespace Example
{
  public class Laputa : WebSocketBehavior
  {
    protected override void OnMessage (MessageEventArgs e)
    {
      var msg = e.Data == "BALUS"
      ? "I've been balused already..."
      : "I'm not available now.";

      Send (msg);
    }
  }

  public class Program
  {
    public static void Main (string[] args)
    {
      var wssv = new WebSocketServer ("ws://dragonsnest.far");
      wssv.AddWebSocketService<Laputa> ("/Laputa");
      wssv.Start ();
      Console.ReadKey (true);
      wssv.Stop ();
    }
  }
}


using WebSocketSharp;
using WebSocketSharp.Server;

namespace Example
{
  public class Laputa : WebSocketBehavior
  {
    protected override void OnMessage (MessageEventArgs e)
    {
      var msg = e.Data == "BALUS"
      ? "I've been balused already..."
      : "I'm not available now.";

      Send (msg);
    }
  }

  public class Program
  {
    public static void Main (string[] args)
    {
      var wssv = new WebSocketServer ("ws://dragonsnest.far");
      wssv.AddWebSocketService<Laputa> ("/Laputa");
      wssv.Start ();
      Console.ReadKey (true);
      wssv.Stop ();
    }
  }
}

【问题讨论】:

标签: c# unity3d websocket


【解决方案1】:

首先,我将 wssv 变量声明为类变量,位于 MonoBehavior 的顶部。

初始化(构造wssv,通过调用Start()向上)进入Start()。

输入检查(它将取代您的 Console.ReadKey)进入 Update()。 如果您想在按下(例如 Escape)键时停止,您需要检查 Input.GetKeyDown(),然后在 wssv 对象上调用 Stop。

通常在 Unity3d 中,我们将单独的类保存在单独的文件中,即使它们很短。所以我建议将 Laputa 类移动到它自己的文件中(它不应该是 MonoBehavior)。之后,您的 MonoBehavior 文件将具有变量声明、Start() 和 Update()。很干净。

【讨论】:

    猜你喜欢
    • 2012-07-24
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 2014-01-16
    • 2014-05-13
    • 1970-01-01
    相关资源
    最近更新 更多