当前位置: 首页 > news >正文

unity socket udp 连接

使用此方法有助于udp在局域网内稳定的连接运行,已经过验证,为了保持彻底的稳定,可以考虑加入ping-pang进行网络处理,如果为了安全,请使用加密TCP

如果您要在大规,大项目的游戏中使用网络技术,建议您使用:mirror,请仔细阅读下代码再进行修改,它的网络构成比较完善,但可能不太适合您的项目,仅供参考

mirror 使用比较完善的kcp技术,如果您想要了解kcp请进行网络搜索,非常建议您访问:github进行学习

 

public class NetSever : GloabManager
{private static NetSever _instance;public static NetSever Instance{get{if (_instance == null)_instance = new NetSever();return _instance;}}public int connectPort;//private Socket socket;private EndPoint clientEnd;private Thread connectThread;public string hostIp = null;public Action UI_OutlinemodeData_GameOver;public Text YuYinShiBie;public Text IP;public bool capture;public bool ColorData = false;public int PlayID;public Queue LogQueue = new Queue();UdpClient udpClient;IPEndPoint ipEnd;public override void Start(){base.Start();//初始化协议if (GetIP() == ""){Debug.LogError("当前IP地址不存在,或没有信号进行连接!");return;}udpClient = new UdpClient();udpClient.EnableBroadcast = true;connectPort = 6000;开启一个线程connectThread = new Thread(new ThreadStart(SocketReceive));Thread.Sleep(1000);connectThread.Start();//SendAllStart("Start+90");}public override void Update(){base.Update();SendMessanger();}string GetIP(){//本机名 string hostName = Dns.GetHostName();//会返回所有地址,包括IPv4和IPv6IPAddress[] addressList = Dns.GetHostAddresses(hostName);foreach (IPAddress ip in addressList){if (ip.AddressFamily == AddressFamily.InterNetwork){return ip.ToString();}}return "127.0.0.1";}void SocketReceive(){UdpClient udpClient = new UdpClient(connectPort);try{Debug.Log("Listening for port " + connectPort + ":" + GetIP());IPEndPoint remoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);while (true){byte[] recvData = udpClient.Receive(ref remoteIpEndPoint);string recvStr = Encoding.UTF8.GetString(recvData);LogQueue.Enqueue(recvStr);Debug.LogError(recvStr);}}catch (Exception){throw;}finally{udpClient.Close();}}void SendMessanger(){if (LogQueue.Count <= 0) return;string strArray = LogQueue.Dequeue() as string;//注意:此处向下处理数据,请结合项目实际if (strArray.Contains("+")){var _str = strArray.Split('+');if (_str[0] != string.Empty){switch (_str[0]){}}}else{Debug.LogError("收到的信息不正确");}}public void SendAllStart(string content){byte[] bytes = Encoding.UTF8.GetBytes(content);udpClient.Send(bytes, bytes.Length, new IPEndPoint(IPAddress.Broadcast, connectPort));}
}

相关文章:

unity socket udp 连接

使用此方法有助于udp在局域网内稳定的连接运行&#xff0c;已经过验证&#xff0c;为了保持彻底的稳定&#xff0c;可以考虑加入ping-pang进行网络处理&#xff0c;如果为了安全&#xff0c;请使用加密TCP 如果您要在大规&#xff0c;大项目的游戏中使用网络技术&#xff0c;建…...

【ensp】VLAN间通信的解决办法

目录 VLAN间通信简介 VLAN间通信的两种方式 借助三层设备路由器进行VLAN间的通信&#xff08;也就是单臂路由&#xff09; 在端口上创建子接口之后为什么需要开启arp广播&#xff0c;是因为他是子接口吗? 拓扑图 交换机配置 路由器配置 查看路由器配置 测试能否实现…...

接口测试框架搭建D22

整体架构和分层设计 run.py 运行测试用例&#xff0c;生成测试报告 test_cases/ 登录用例 注册用例 其他业务用例... data/ 测试数据 libs 第三方插件&#xff0c;比如HTMLTestRunnerNew config config.yaml 静态配置数据 config.py 动态配置数据 reports 测试报告…...

CASA模型教程

原文链接&#xff1a;CASA模型教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247600635&idx6&sna655a8de570edcaa435d6e917b66d9b3&chksmfa82081ccdf5810a33a778e8771bb116bde9e5a1f795daa4894e5b74de17b03ebe86d7cdcfe3&token1464653739&…...

算法思路-遥感语义分割与变化检测

遥感影像存在的问题 1.不同季节影像的差异 2. 影像云雾遮挡 3.影像由于传感器、地物反射、地物高度差等导致的畸变 抛开数据&#xff0c;目前语义分割任务面临的问题 1. 单一任务模型很难具有通用性 结合自然语言的大模型是否会是一个新的启发点 首先需要考虑根据影像我…...

动态规划专练( 231.打家劫舍Ⅱ)

231.打家劫舍Ⅱ 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋&#xff0c;每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 &#xff0c;这意味着第一个房屋和最后一个房屋是紧挨着的。同时&#xff0c;相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间…...

K-means和逻辑回归

逻辑回归 一个事件的几率是该事件发生的概率/该事件不发生的概率&#xff1a;P/&#xff08;1-P&#xff09; 对数几率是&#xff1a;log(P/&#xff08;1-P&#xff09;) **考虑对输入x分类的模型&#xff1a;**log(P/&#xff08;1-P&#xff09;)wx 则 Pexp(wx)/(exp(w*x)…...

3.2 iHRM人力资源 - 组织架构 - 编辑及删除

iHRM人力资源 - 组织架构 文章目录 iHRM人力资源 - 组织架构一、编辑功能1.1 表单弹层并数据回显1.2 编辑校验1.3 编辑 二、删除功能 一、编辑功能 编辑功能和新增功能用的组件其实是一个&#xff0c;结构几乎是一样的&#xff0c;其实是复用了组件&#xff0c;我们也省去了很…...

支付系统核心逻辑 — — 状态机(JavaGolang版本)

支付系统核心逻辑 — — 状态机 代码地址&#xff1a;https://github.com/ziyifast/ziyifast-code_instruction/tree/main/state_machine_demo 1 概念&#xff1a;FSM&#xff08;有限状态机&#xff09;&#xff0c;模式之间转换 状态机&#xff0c;也叫有限状态机&#xff08…...

rest_framework_mongoengine实现后端的增删改查

rest_framework_mongoengine实现后端增删改查 ‍ 一、增删改查 1. 继承ModelViewSet实现增删改查 父urls.py path("api/testapp/", include("apps.testapp.urls")), # 测试子urls.py # -*- coding: utf-8 -*- from django.urls import path from res…...

【精读文献】Scientific data|2017-2021年中国10米玉米农田变化制图

论文名称&#xff1a;Mapping annual 10-m maize cropland changes in China during 2017–2021 第一作者及通讯作者&#xff1a;Xingang Li, Ying Qu 第一作者单位及通讯作者单位&#xff1a;北京师范大学地理学部 文章发表期刊&#xff1a;《Scientific data》&#xff08…...

高光谱图像修复笔记

目录 RetinexFormer 也有MST-plus-plus代码&#xff0c;分辨率可以调 MST-plus-plus github地址&#xff1a; WACV2023 DSTrans RetinexFormer GitHub - caiyuanhao1998/Retinexformer: "Retinexformer: One-stage Retinex-based Transformer for Low-light Image E…...

GPS定位原理及应用分析

一&#xff0e;定位原理 1.卫星定位&#xff08;GPS&#xff0c;北斗导航&#xff09; ①&#xff0e;硬件构成&#xff08;24颗卫星&#xff0c;可构建一套导航系统&#xff09; 为何是24颗卫星&#xff1f; 可以做到全球覆盖&#xff0c;同一地点地球上空可观测到4颗卫星。 …...

Java面试篇9——并发编程

并发编程知识梳理 提示&#xff0c;此仅为面试&#xff0c;若想对线程有跟完整了解&#xff0c;请点击这里 提示&#xff1a;直接翻到最后面看面试真题&#xff0c;上面的为详解 面试考点 文档说明 在文档中对所有的面试题都进行了难易程度和出现频率的等级说明 星数越多代表…...

[RK3399 Linux] 使用busybox 1.36.1制作rootfs

一、 编译、安装、配置 busybox 1.1 下载源码 根文件系统是根据busybox来制作的。 下载地址:https://busybox.net/downloads/。 这里就以1.36.1版本为例进行编译安装介绍: 注意:编译linux内核与文件系统中的所有程序要使用相同的交叉编译器。 下载完成后解压: mkdir …...

JavaScript入门--循环

JavaScript入门--循环 一、for循环二、for in语句三、break语句四、continue语句五、while循环六、do-while语句一、for循环 先来看一个循环案例: for (i = 0; i < 5; i++) {...

【Delphi 爬虫库 1】GET和POST方法

文章目录 1.最简单的Get方法实现2.可自定义请求头、自定义Cookie的Get方法实现3.提取响应协议头4.Post方法实现单词翻译 爬虫的基本原理是根据需求获取信息并返回。就像当我们感到饥饿时&#xff0c;可以选择自己烹饪食物、外出就餐&#xff0c;或者订外卖一样。在编程中&#…...

[leetcode] 快乐数 E

:::details 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1…...

Lobe UI - 基于 AntDesign 开发的 AIGC Web 应用的开源 UI 组件库

今天推荐一个可以快速开发 ChatGPT UI 界面的组件库&#xff0c;质量很高&#xff0c;拿来就能用。 Lobe UI 是由 lobehub 团队开发的一套 web UI 组件库&#xff0c;和我之前推荐的很多通用型的 UI 组件库不同&#xff0c;Lobe UI 是专门为目前火热的 AIGC 应用开发而打造&am…...

Java常用类 -- Random类

该类实例用于生成伪随机数的流 伪随机数&#xff1a;通过算法算出来的数&#xff0c;是假的随机数 &#xff08;一&#xff09;具体使用 public static void main(String[] args) { ​Random r new Random(); ​System.out.println("随机出int类型的数据" r.nextIn…...

AI系统-7Pytorch数字识别实战及算子介绍

之前铺垫了神经网络的基础知识&#xff0c;这里使用编程工具Pytorch进行一个实战讲解。首先变成一个看得见、摸得着的程序和代码&#xff0c;然后再说后续怎么使用GPU/NPU硬件去优化。 本文主要参考ZOMI酱《AI系统》&#xff1a;https://chenzomi12.github.io/01Introduction/0…...

OpenOCD入门到精通:第23章 添加新的 JTAG 适配器驱动

第23章 添加新的 JTAG 适配器驱动 导读摘要:OpenOCD 支持 40 余种调试适配器,每种适配器背后都有一个遵循统一接口规范的驱动程序。本章从 adapter_driver 结构体出发,逐一解析其回调函数语义,介绍 libusb/HIDAPI 通信层封装,并通过一个完整的简易驱动实现示例,帮助读者掌…...

机器人手臂相机 vs 抓手相机:5个关键区别与选型指南(附避坑技巧)

机器人手臂相机 vs 抓手相机&#xff1a;5个关键区别与选型指南&#xff08;附避坑技巧&#xff09; 在工业自动化领域&#xff0c;视觉引导系统如同机器人的"眼睛"&#xff0c;而相机安装位置的选择往往决定了整个系统的精度与可靠性。当工程师面对手臂相机&#xf…...

OpenClaw技能开发入门:为Qwen3-VL:30B编写图片翻译插件

OpenClaw技能开发入门&#xff1a;为Qwen3-VL:30B编写图片翻译插件 1. 为什么需要自定义技能开发 去年冬天&#xff0c;我接手了一个跨国团队的文档协作项目&#xff0c;每天需要处理大量包含多语言图片的飞书消息。当我在深夜第三次手动将日文截图粘贴到翻译软件时&#xff…...

自动化周报生成:OpenClaw+GLM-4.7-Flash整合多平台数据

自动化周报生成&#xff1a;OpenClawGLM-4.7-Flash整合多平台数据 1. 为什么需要自动化周报 每周五下午&#xff0c;我的心情总是特别复杂。一方面期待着周末的到来&#xff0c;另一方面又要面对那个令人头疼的任务——写周报。相信很多技术从业者都有类似的经历&#xff1a;…...

HunyuanVideo-Foley镜像特性解析:低内存加载方案与显存碎片优化机制

HunyuanVideo-Foley镜像特性解析&#xff1a;低内存加载方案与显存碎片优化机制 1. 镜像概述与核心能力 HunyuanVideo-Foley是一款专为视频生成与音效合成任务优化的私有部署镜像&#xff0c;基于RTX 4090D 24GB显存环境深度调优。该镜像将视频生成与Foley音效生成能力整合在…...

ESP32开发实战:5分钟搞定MicroPython调用C库驱动LED(附完整代码)

ESP32混合编程实战&#xff1a;用MicroPython调用C库实现高性能LED控制 在物联网设备开发中&#xff0c;ESP32凭借其出色的性价比和丰富的功能接口成为硬件开发者的首选。而MicroPython作为嵌入式领域的Python实现&#xff0c;以其简洁的语法和快速的开发周期赢得了大量开发者的…...

联想M920x黑苹果配置指南:从硬件适配到性能优化的完整方案

联想M920x黑苹果配置指南&#xff1a;从硬件适配到性能优化的完整方案 【免费下载链接】M920x-Hackintosh-EFI Hackintosh Opencore EFIs for M920x 项目地址: https://gitcode.com/gh_mirrors/m9/M920x-Hackintosh-EFI 联想M920x作为一款紧凑型商用主机&#xff0c;通过…...

大语言模型应用落地:从RAG到工作流,IT企业智能转型全攻略!

引言检索增强生成&#xff08;RAG&#xff09;微调&#xff08;Fine-Tuning&#xff09;智能体&#xff08;Agents&#xff09;工作流与流程编排&#xff08;Workflow&#xff09;企业落地策略与阶段规划落地难点与最佳实践建议结语引言大语言模型&#xff08;LLM&#xff09;技…...

LIBPNG深度解析:构建企业级PNG处理架构的技术决策指南

LIBPNG深度解析&#xff1a;构建企业级PNG处理架构的技术决策指南 【免费下载链接】libpng LIBPNG: Portable Network Graphics support, official libpng repository 项目地址: https://gitcode.com/gh_mirrors/li/libpng LIBPNG作为PNG格式的官方参考实现库&#xff0…...