unity 连接WebSocket

这篇具有很好参考价值的文章主要介绍了unity 连接WebSocket。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

unity 连接需要联网的WebSocket

using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using System.Net.WebSockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Newtonsoft.Json;
using UnityEngine;
//SingletonManager: 继承MonoBehaviour的单例(也可以直接继承MonoBehaviour)
public class WebNetworkClient  : SingletonManager<WebNetworkClient>
    {
    //服务器的地址
    public string url = "ws://192.168.1.206:6070";
    ClientWebSocket Socket;
    CancellationToken ct;
    //启动WebSocket(有需要在其他脚本启动/可以增加一个Awake在这个脚本调用)
    public async void WebSocket()
    {
        try
        {
            Socket = new ClientWebSocket();
            ct = new CancellationToken();
            //添加header
            //Socket.Options.SetRequestHeader("Authorization", token);
            await Socket.ConnectAsync(new Uri(url), ct);
            Debug.Log("开启雷达监听");
            await Socket.SendAsync(new ArraySegment<byte>(Encoding.UTF8.GetBytes("Token=" + UnityHttpHelper.Ins.api_token)), WebSocketMessageType.Text, true, ct); //发送第一条数据

            while (true)
            {
                var result = new byte[10240];
                await Socket.ReceiveAsync(new ArraySegment<byte>(result), ct);//接受数据
                ReceiveAsyncInfo(Encoding.UTF8.GetString(result, 0, result.Length));
            }
        }
        catch (Exception ex)
        {
            Debug.Log(ex.Message);
        }
    }
    void ReceiveAsyncInfo(string info)
    {
        //收到服务器返回的数据
        //Debug.Log(info);
       
    }
    private void OnApplicationQuit()
    {
        //应用关闭 主动断开链接
        Socket.CloseAsync(WebSocketCloseStatus.NormalClosure, "拜拜", ct);
    }
}


文章来源地址https://www.toymoban.com/news/detail-543234.html

到了这里,关于unity 连接WebSocket的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WebSocket 和 Socket.IO

    WebSocket 是一种网络通信协议,它提供了全双工(full-duplex)通信通道,允许服务器和客户端之间进行双向通信。这种通信方式比传统的 HTTP 请求/响应模式更高效,因为它减少了网络延迟,并且只需要一个 TCP 连接就可以进行双向通信。 WebSocket 的工作流程如下:     1. 客户端

    2024年02月11日
    浏览(36)
  • .NET 基于Socket中转WebSocket

    针对IOS App Proxy Server无法直连WebSocket,建立 Socket中转端。 WebSocket 端 : WebSocket 端用于实现实时通信功能。 WebSocket 端通过 WebSocket 协议与中转端通信,中转端可以通过 WebSocket 或其他传输协议与 WebSocket 端建立连接,收发消息。 定义 SendMessageToChatRoomIP 和 JoinChatRoom,用于处理

    2024年04月27日
    浏览(35)
  • Java网络Socket编程-websocket

    实现一个用于监测 WebSocket 连接状态的线程类,其作用是通过创建一个 WebSocket 客户端,连接到指定的 WebSocket 地址,并监测连接的状态。 代码中的 WebSocketThread 类继承自 Thread ,意味着它可以在单独的线程中执行。该线程类使用 Tyrus 提供的 @ClientEndpoint 注解来标识这是一个

    2024年02月08日
    浏览(50)
  • JAVA 中 Socket 和 WebSocket 区别

    区别: Socket: Socket是位于java.net包下的一个类, 是 Java 提供的用于在客户端和服务器之间建立网络通信的底层套接字接口,用于传输层的网络通信。 WebSocket: WebSocket 是一种基于 TCP 协议的通信协议 ,建立在 Socket 的基础上,提供了用于实时 双向通信 的高级接口。 实现方法:

    2024年02月06日
    浏览(42)
  • websocket与C# socket相互通信

    web端代码就是js代码,C#有两种方式:使用第三方库,如Fleck,使用C#原生socket编程实现   web端:   C#端 方式一:使用第三方库Fleck 参考:http://chanpinxue.cn/archives/979.html   方式二:使用C#原生socket编程自行实现   websocket关闭机制 通信双方都可以主动关闭连接,不管谁关闭连接

    2023年04月23日
    浏览(39)
  • WebSocket之socket.io的基本使用

     Socket.IO 是一个WebSocket库,可以在客户端和服务器之间实现低延迟、双向和基于事件的通信。它建立在 WebSocket 协议之上,并提供额外的保证,例如回退到 HTTP 长轮询或自动重新连接。 基本使用 安装socket.io yarn add socket.io  新建js文件与html文件内容如下 这个时候启动node后,

    2024年02月08日
    浏览(33)
  • 面试题:说说 WebSocket与socket的区别

    WebSocket 与 Socket 都属于网络通信领域,但二者之间在实现机制和运行方式上存在很大差异。 Socket: Socket 是一种应用程序接口(API),它提供了许多操作系统下的编程接口,用于实现不同计算机之间的数据传输。Socket 层位于传输控制层(TCP或UDP协议),通过套接字实现双向通

    2024年04月12日
    浏览(40)
  • 如何实现前端实时通信(WebSocket、Socket.io等)?

    聚沙成塔·每天进步一点点 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而

    2024年01月22日
    浏览(48)
  • Go语言网络编程(socket编程)WebSocket编程

    WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据 在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输 需要安装第

    2024年02月09日
    浏览(78)
  • socket.io 解决浏览器兼容性(WebSocket)

             在上一篇讲了 npm 上最流行的 WebSocket 库之一的 ws 库,那么本篇就来讲另外一个,就是 socket.io 库,socket.io 其实是一个兼容方案,当浏览器不支持 H5 的情况下就不能够使用上一篇内容讲的 WebSocket ,只能采用其他的方案,socket.io 就解决了关于浏览器的兼容。 Node实

    2023年04月21日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包