Unity WebSocket-Server

🥪效果展示

在Unity中创建WebSocket服务器,从网页连接到该服务器进行消息通信,在Unity中接收到的消息都在主线程
请添加图片描述

🌭启动Server

直接运行Demo场景:Assets/ZYF/Tool/NetWork/WebSocket/Server/Demo/Demo.unity

using UnityEngine;
namespace ZYFWebSocket
{

    public class ServerDemo : MonoBehaviour
    {
        private string webSocketServerUrl = "ws://127.0.0.1:8099";
        private WebSocketServer server;

        // Start is called before the first frame update
        void Start()
        {
            this.server = webSocketServerUrl.StartWebSocket();

            server.OnOpen(callback: (socket) =>
            {
                Debug.Log($"{nameof(WebSocketServer)} Open:{socket.ConnectionInfo.Id}");
                socket.Send("连接成功~");
            });

            server.OnClose(callback: (socket) =>
            {
                Debug.Log($"{nameof(WebSocketServer)} Close:{socket.ConnectionInfo.Id}");
            });

            WebSocketExtension.onSocketErrorEvent.AddListener((data) =>
            {
                Debug.LogError($"{nameof(WebSocketServer)} Error:{data.socket.ConnectionInfo.Id}\n{data.error}");
            });

            WebSocketExtension.onSocketMessageEvent.AddListener((data) =>
            {
                Debug.Log($"{nameof(WebSocketServer)} msg:{data.socket.ConnectionInfo.Id}\n{data.msg}");
                data.socket.Send("收到啦~");
            });


        }
        private void OnDestroy()
        {
            this.server.Dispose();
        }

    }

}

🍱连接Server

Demo 演示由网页连接到Server,直接双击index文件启动页面即可:Assets/ZYF/Tool/NetWork/WebSocket/Server/Demo/index.html

传送门👈

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity可以使用WebSocket连接与服务器进行通信。以下是使用Unity中的WebSocket连接的步骤: 1. 下载WebSocket库:Unity本身不包含WebSocket库,需要从第三方库中下载。常用的库有WebSocketSharp和websocket-dot-net。这里以WebSocketSharp为例进行说明。 2. 导入WebSocket库:将下载的WebSocket库导入Unity项目中,可以将库文件放在Assets文件夹中的任何地方。 3. 创建WebSocket连接:在Unity中使用WebSocket需要在代码中创建WebSocket实例。以下是创建WebSocket实例的示例代码: ```csharp using WebSocketSharp; public class WebSocketTest : MonoBehaviour { WebSocket ws; void Start () { ws = new WebSocket("ws://localhost:8080"); ws.OnMessage += (sender, e) => { Debug.Log(e.Data); }; ws.Connect(); } } ``` 4. 发送和接收消息:WebSocket连接成功后,可以使用Send方法向服务器发送消息,使用OnMessage事件接收服务器发送的消息。以下是发送消息和接收消息的示例代码: ```csharp using WebSocketSharp; public class WebSocketTest : MonoBehaviour { WebSocket ws; void Start () { ws = new WebSocket("ws://localhost:8080"); ws.OnMessage += (sender, e) => { Debug.Log(e.Data); }; ws.Connect(); ws.Send("Hello, server!"); } } ``` 5. 关闭WebSocket连接:在Unity中,可以使用Close方法关闭WebSocket连接。以下是关闭WebSocket连接的示例代码: ```csharp using WebSocketSharp; public class WebSocketTest : MonoBehaviour { WebSocket ws; void Start () { ws = new WebSocket("ws://localhost:8080"); ws.OnMessage += (sender, e) => { Debug.Log(e.Data); }; ws.Connect(); ws.Send("Hello, server!"); ws.Close(); } } ``` 以上是使用Unity中的WebSocket连接的基本步骤,具体实现还需要考虑服务器端的实现和具体应用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牙膏上的小苏打2333

哟,哟,切克闹,煎饼果子来一套

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值