Unity下简洁有效的UDP客户端

  • 前言
  • 代码
  • 资源
  • 其他
    • 中文乱码问题

前言

本来就想从网上找一个Unity的UDP客户端,百度上试了好多教程,问题百出,让人气不打一处来.
就几行代码的事情,浪费时间.

下面贴代码
ip和port改成服务器的
"connect"是连接时给服务器发送的
"HeartBeat"是心跳包

代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.Text;
using System.Net.Sockets;
using System.Net;public class Network : MonoBehaviour
{public UdpClient udp;// Start is called before the first frame updatevoid Start(){udp = new UdpClient();udp.Connect(ip,port);Byte[] sendBytes = Encoding.ASCII.GetBytes("connect");udp.Send(sendBytes, sendBytes.Length);udp.BeginReceive(new AsyncCallback(OnReceived), udp);InvokeRepeating("HeartBeat", 1, 1);}void OnDestroy(){udp.Dispose();}void OnReceived(IAsyncResult result){// this is what had been passed into BeginReceive as the second parameter:UdpClient socket = result.AsyncState as UdpClient;// points towards whoever had sent the message:IPEndPoint source = new IPEndPoint(0, 0);// get the actual message and fill out the source:byte[] message = socket.EndReceive(result, ref source);// do what you'd like with `message` here:string returnData = Encoding.ASCII.GetString(message);Debug.Log("Got this: " + returnData);// schedule the next receive operation once reading is done:socket.BeginReceive(new AsyncCallback(OnReceived), socket);}void HeartBeat(){Byte[] sendBytes = Encoding.ASCII.GetBytes("heartbeat");udp.Send(sendBytes, sendBytes.Length);}
}

资源

带UI的源码下载(free)

其他

中文乱码问题

ASCII 改成 UniCode

Unity下的UDP客户端相关推荐

  1. [翻译]Reactor Netty参考指南 - 8.UDP客户端

    Reactor Netty参考指南目录 原文地址 Reactor Netty提供了易于使用.易于配置的UdpClient.它隐藏了创建UDP客户端所需的大部分Netty的功能,并增加了Reactive ...

  2. Linux下编写UDP/TCP版本的服务器和客户端的流程

    Linux下编写UDP/TCP版本的服务器和客户端的流程 文章目录 Linux下编写UDP/TCP版本的服务器和客户端的流程 一:UDP和TCP的区别 二.UDP编写服务器的步骤 三.UDP编写客户端 ...

  3. UDP客户端不用绑定吗IP和端口?

    2019独角兽企业重金招聘Python工程师标准>>> 书上都是这么说的,UDP客户端不用绑定IP和端口,操作系统会给它自动分配端口.... 但是虽然没有显示绑定,但是操作系统却似乎 ...

  4. DNS分别在什么情况下使用UDP和TCP?

    看到一个题目问的是:DNS分别在什么情况下使用UDP和TCP? 仔细查了一下发现可查询的资料很少,大部分都把DNS所用协议归为UDP了其实不然,DNS同时占用UDP和TCP端口53,这种单个应用协议同 ...

  5. unity下图灵机器人的使用

    unity下图灵机器人的使用 这里json的解析与建立使用的是LitJson.dll 一.机器人建立 首先到图灵机器人的官网http://www.tuling123.com/注册一个号并建立机器人(有 ...

  6. udp客户端与服务器端模型_客户端-服务器模型

    udp客户端与服务器端模型 As mentioned in the previous article, one of the requirements of using PHP on a page i ...

  7. linux下和嵌入式linux下通过udp接收来自vlc播放器的视频并转发播放

    1.最近需要在linux下基于udp写一个应用程序,实现接收vlc播放器发送的视频流,并将接收到的视频流转发到另一个vlc客户端播放.并将这个应用程序交叉编译到ARM上执行测试通过.主机端ip地址:1 ...

  8. Springboot+Netty搭建UDP客户端

    使用Netty+SpringBoot方式可以快速地开发一套基于UDP协议的服务端程序,同样的也可以开发客户端,一般使用UDP都是使用原生的方式,发送消息后就不管不问,也就是不需要确定消息是否收到,这里 ...

  9. BearPi-HM_Nano开发板WiFi编程开发——UDP客户端

    本示例将演示如何在BearPi-HM_Nano开发板上使用socket编程创建UDP客户端,就收客户端消息并回复固定消息. 本案例主要使用了以下几个API完socket编程实验 socket API分 ...

最新文章

  1. Linux 下 UltraEdit 版本: 16.1.0.18 破解 30 天试用限制
  2. SpringBoot第二十二篇: 创建含有多module的springboot工程
  3. 【前沿干货】2020人脸识别最新进展
  4. Fiddler无法抓取HTTPS的问题,Fiddler证书无法安装终极解决方案,
  5. js-jQuery对象与dom对象相互转换
  6. spark入门_Spark技术入门——配置部署、SparkSQL应用
  7. GCD Game 博弈论-Nim-质因数应用-质因数个数预处理
  8. hadoop的idea连接配置_idea远程连接hadoop(macOS)
  9. shell 删除乱码文件
  10. ejb运行程序_在哪里可以运行EJB?
  11. 非常精简的Linux线程池实现(一)——使用互斥锁和条件变量
  12. oracle将字段nullable设为Y,从DB模型中消除NULLable列的选项(为了避免SQL的三值逻辑)?...
  13. 绝对布局优势_前瞻布局+尖端科技+雄厚资金 恒大解锁造车的“正确姿势”
  14. 微软“作死”Windows
  15. opencv库skimage 实现Canny边缘探测算法
  16. mysql怎么求平均体重_怎样计算平均身高和平均体重
  17. 4am永远 鼠标按键设置_罗技G502 LIGHTSPEED无线游戏鼠标评测 性能超乎想象
  18. 移动前端开发和web前端开发的区别
  19. uncheck关键字
  20. Synchronized原理(轻量级锁篇)

热门文章

  1. python中wx模块介绍_python使用wxpython的 wx.aui 进行布局
  2. C++中数组初始化方法
  3. Reversing.kr Replace
  4. 服务器ssl证书副本,SSL证书服务器名称是如何解析的/我可以使用keytools添加其他名称吗?...
  5. Wideband Direction of Arrival Estimation Based on Multiple Virtual Extension Arrays
  6. 解决 无法解析名称 NaiveBayes.fit。/i get Undefined variable “NaiveBayes“ or class “NaiveBayes.fit“.
  7. 网络安全技术 第二章----数据加密与PKI技术(二)
  8. 在路上——广州一日游
  9. 计算机数据管理的三个阶段包括,计算机数据管理技术的发展包括三个阶段
  10. idea 实现接口中方法的快捷键