Unity 实现WebSocket 简单通信——客户端

news2024/11/27 23:30:06

创建连接

ClientWebSocket socket = new ClientWebSocket();
string url = $"ws://{ip}:{port}";
bool createUri = Uri.TryCreate(url, UriKind.RelativeOrAbsolute, out Uri uri);
if (createUri)
{
    var task = socket.ConnectAsync(uri, CancellationToken.None);
    task.Wait(1000);

    if (socket.State == WebSocketState.Open)
    {
        Debug.Log("连接成功!");
    }
}

信息接收

byte[] arrry = new byte[1024];
ArraySegment<byte> buffer = new ArraySegment<byte>(arrry);

var task = socket.ReceiveAsync(buffer, CancellationToken.None);
task.Wait(1000);

string msg = Encoding.UTF8.GetString(buffer.Array, 0, task.Result.Count);

信息发送

ArraySegment<byte> array = new ArraySegment<byte>(Encoding.UTF8.GetBytes(msg));
var task = socket.SendAsync(array, WebSocketMessageType.Binary, true, CancellationToken.None);
task.Wait(2000);

断开连接

var task = socket.CloseAsync(WebSocketCloseStatus.NormalClosure, string.Empty, CancellationToken.None);
task.Wait(2000);

拓展 

部分Unity 属性或方法在非主线程中调用出错解决

Unity 解决 “... can only be called from the main thread” 问题_unityexception: find can only be called from the m-CSDN博客文章浏览阅读5.1k次,点赞3次,收藏17次。Unity 解决 “... can only be called from the main thread” 问题_unityexception: find can only be called from the main thread. constructors ahttps://blog.csdn.net/xzqsr2011/article/details/128693150

服务端 

基于.Net 框架实现WebSocket 简单通信——服务端-CSDN博客【代码】基于.Net 框架实现WebSocket 简单通信——服务端https://blog.csdn.net/2301_79311694/article/details/139480304

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1816153.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx学习笔记(九)location转发后,proxy_pass结尾带 / 和不带 / 的区别

目录 一、知识回顾二、proxy_pass 结尾带 / 和不带 / 的区别2.1 场景假设2.2 实战验证验证1&#xff1a;结尾带/的场景验证2&#xff1a;不带/的场景 2.3 结论 一、知识回顾 之前使用过 Nginx 的小伙伴或许都了解&#xff0c;Nginx 是一款用于请求转发的高性能中间件&#xff…

C++|哈希应用->位图

目录 一、概念 1.1原理分析&#xff1a; 1.2效率分析&#xff1a; 二、模拟实现 2.1位图框架初始化空间 2.2映射 2.3清零 2.4判断 2.5测试代码 三、位图扩展应用 一、概念 位图&#xff0c;本质上也是一个数组&#xff0c;通过哈希思想构造的一种数据结构&#xff0c…

unity开发Hololens编辑器运行 按空格没有手

选择DictationMixedRealityInputSystemProfile 如果自定义配置文件 需要可能需要手动设置 手部模型和材质球

SQL 窗口函数

1.窗口函数之排序函数 RANK, DENSE_RANK, ROW_NUMBER RANK函数 计算排序时,如果存在相同位次的记录,则会跳过之后的位次 有 3 条记录排在第 1 位时: 1 位、1 位、1 位、4 位…DENSE_RANK函数 同样是计算排序,即使存在相同位次的记录,也不会跳过之后的位次 有 3 条记录排在…

Springboot高校实训管理平台-计算机毕业设计源码01557

目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2 高校实训管理平台系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系…

delmia中机器人末端固定工具

1 需要在工具上面建立点 在Device Building模式下 2 然后通过 set tool可以设置

247 H指数

法一&#xff1a; 不进行排序&#xff0c;直接依照原数组进行解&#xff0c;先假设h为1&#xff0c;然后找引用超过1篇的论文数量&#xff0c;如果满足&#xff0c;则再假设h为2。这样比较慢&#xff0c;时间复杂度为o(n方)。 int hIndex(vector<int>& citations) {…

天润融通引领AI大模型应用,助力企业客户感知升级

AI大模型&#xff0c;如何进行应用落地&#xff1f; 2024年&#xff0c;大模型的应用落地成为行业发展的一个重要主题&#xff0c;如何将大模型的能力与业务场景相结合&#xff0c;为企业提高效率&#xff0c;创造价值&#xff0c;成为各大企业积极探索的方向。 客户联络也是…

计算机网络:网络层 - IPv4数据报 ICMP协议

计算机网络&#xff1a;网络层 - IPv4数据报 & ICMP协议 IPv4数据报[版本 : 首部长度 : 区分服务 : 总长度][标识 : 标志 : 片偏移][生存时间 : 协议 : 首部检验和][可变部分 : 填充字段] ICMP协议 IPv4数据报 一个IPv4数据报&#xff0c;由首部和数据两部分组成&#xff…

三:SpringBoot的helloworld和使用Springboot的优点以及快速创建Springboot应用

三&#xff1a;SpringBoot的helloworld和使用Springboot的优点以及快速创建Springboot应用 一&#xff1a;HelloWorld [我们创建的是maven项目或者直接创建一个Spring] 1.1&#xff1a;创建一个maven 项目&#xff08;1】&#xff1a;需要自己手动写一个SpringBoot 的启动类同…

【产品经理】ERP订单处理1-订单初始化

在平台订单转换为ERP订单的过程中&#xff0c;一般有些信息是需要处理的&#xff0c;比如订单主表信息、订单明细信息等。 平台订单下发到ERP系统过程&#xff0c;ERP系统需要对订单进行处理&#xff0c;下图为ERP订单处理的整体环节&#xff0c;之后我们将依次讲解&#xff0c…

服务器配置(初始化)

一&#xff1a;什么是云服务器及用途&#xff1a; 云服务器(Elastic Compute Service, ECS)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件&#xff0c;即可迅速创建或释放任意多台云服务器。 我个人感觉就…

树Tree

文章目录 属性二叉树Binary Tree应用二叉树严格二叉树完全二叉树满二叉树Perfect Binary Tree 二叉搜索树Binary Search TreearrayLinked LIstArray&#xff08;sortrd&#xff09;Binary Search Tree&#xff08;balanced&#xff09; 性质实现dynamicallyarrays数组 具有层级…

Shell脚本 if语句

条件测试&#xff1a; $? 返回码 判断命令或者脚本是否执行成功&#xff08;最近的一条&#xff09; 0 true 为真就是成功 成立 非0 false 失败或者异常 test命令 可以进行条件测试 然后根据的是返回值来判断条件是否成立。 -e 测试目录或者文件是否存在 exist -d 测试…

LM2576系列3A开关型DCDC BUCK降压稳压器

前言&#xff1a; 老款DCDC&#xff0c;使用历史几十年了&#xff0c;今天设计仍然使用这个DCDC的&#xff0c;是不合适的。主要缺点是开关频率较低只有几十Khz&#xff0c;导致需要使用较大感量的功率电感&#xff0c;这样的电感价格较高&#xff0c;且占用PCB空间较大&#…

理解数学概念——线性(线性性)

1. 线性相关词汇的词源 1.1 单词“line”的词源 这个单词是古英语“line”和古法语“ligne”二者的融合。在古英语中&#xff0c;“line”的词义为“缆绳&#xff0c;绳索&#xff1b;一系列&#xff0c;行&#xff0c;字母行&#xff1b;规则&#xff0c;方向(cable, rope; s…

网工内推 | 深信服、中软国际技术支持工程师,最高13k*13薪

01 深信服 &#x1f537;招聘岗位&#xff1a;远程技术支持工程师 &#x1f537;任职要求&#xff1a; 一、专业能力和行业经验&#xff1a; ①具备友商同岗位工作经验1.5年以上&#xff0c;具备良好的分析和判断能力&#xff0c;有独立问题处理思路&#xff0c;具备常见协…

如何保证数据库和缓存的一致性

背景&#xff1a;为了提高查询效率&#xff0c;一般会用redis作为缓存。客户端查询数据时&#xff0c;如果能直接命中缓存&#xff0c;就不用再去查数据库&#xff0c;从而减轻数据库的压力&#xff0c;而且redis是基于内存的数据库&#xff0c;读取速度比数据库要快很多。 更新…

Sublime Text 4 - 前端代码编辑的卓越之选

Sublime Text 4 是一款备受赞誉的前端代码编辑神器&#xff0c;无论是在 Mac 系统还是 Windows 系统上&#xff0c;都展现出了其独特的魅力和强大的功能。 Sublime Text 4 拥有简洁而直观的用户界面&#xff0c;让开发者能够快速上手并沉浸于代码编写的过程中。它提供了高度可…

Qwen2 阿里最强开源大模型(Qwen2-7B)本地部署、API调用和WebUI对话机器人

阿里巴巴通义千问团队发布了Qwen2系列开源模型&#xff0c;该系列模型包括5个尺寸的预训练和指令微调模型&#xff1a;Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B以及Qwen2-72B。对比当前最优的开源模型&#xff0c;Qwen2-72B在包括自然语言理解、知识、代码、数学及多…