html个人网站模版,聊城经济开发区人才网,简单免费模板,wordpress文章页获取标签代码因为需要用到unity和其他的程序交互#xff0c;其他程序可以提供Udp消息#xff0c;因此找了合适的相互连接方法。这里直接上代码。
工具类#xff1a;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Net;
u…因为需要用到unity和其他的程序交互其他程序可以提供Udp消息因此找了合适的相互连接方法。这里直接上代码。
工具类
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using UnityEngine;
using UnityEngine.Video;public class UdpManager
{public static string m_receivedMessage;static IPEndPoint m_IPEndPoint;static UdpClient m_udpClient;public static void InitializeUdpClient(){m_IPEndPoint new IPEndPoint(IPAddress.Parse(127.0.0.1), 8080);m_udpClient new UdpClient(m_IPEndPoint);UdpModel s new UdpModel(m_udpClient, m_IPEndPoint);m_udpClient.BeginReceive(EndReceive, s);Debug.Log(服务器启动);}//结束得到的信息private static void EndReceive(IAsyncResult ar){try{UdpModel m_UdpModel ar.AsyncState as UdpModel;if (m_UdpModel ! null){UdpClient udpClient m_UdpModel.m_udpclient;IPEndPoint ip m_UdpModel.m_ip;Byte[] receiveBytes udpClient.EndReceive(ar, ref ip);string msg Encoding.UTF8.GetString(receiveBytes);m_receivedMessage msg;udpClient.BeginReceive(EndReceive, m_UdpModel); //开始获取}}catch (Exception ex){//处理异常}}//udp模型private class UdpModel{public UdpClient m_udpclient null;public IPEndPoint m_ip;public UdpModel(UdpClient udpclient, IPEndPoint ip){this.m_udpclient udpclient;this.m_ip ip;}}//关闭public static void Close(){if (m_udpClient ! null){m_udpClient.Close();m_udpClient null;}}/// summary/// 发送数据/// /summary/// param nameobj/parampublic static void SendMessage(string message){UdpClient myUdpClient new UdpClient();IPEndPoint endpoint;//当前服务器ip和端口号myUdpClient new UdpClient(new IPEndPoint(IPAddress.Any, 8800));//要发送给的地址和端口号255.255.255.255表示在这个局域网的所有ipendpoint new IPEndPoint(IPAddress.Parse(192.168.31.174), 1180);byte[] bytes Encoding.UTF8.GetBytes(message);try{myUdpClient.Send(bytes, bytes.Length, endpoint);myUdpClient.Close();}catch (Exception err){Console.Write(err.Message, 发送失败);}finally{myUdpClient.Close();}}
}
需要挂载运行的脚本
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
using UnityEngine.Video;/// summary
/// 服务接收生成
/// /summary
public class ServerControl : MonoBehaviour
{void Start(){UdpManager.InitializeUdpClient();//part1Root.SetActive(true);//part2Root.SetActive(false);}void Update(){if (UdpManager.m_receivedMessage ! null){string[] array UdpManager.m_receivedMessage.Split(,);Debug.Log(UdpManager.m_receivedMessage);UdpManager.m_receivedMessage null;}}private void OnDestroy(){UdpManager.Close();}
}
使用方法很简单把ServerControl脚本挂载在一个物体上直接运行即可接受信息的方法和发送的方法都在两个脚本里。