uinty项目中需要与C++编写的硬件进行通信,因此采用TCP/IP协议进行通信,主要实现了与服务器的连接、通信内容的发送以及断开连接等功能。
根据确定好的协议格式,编写需要发送的内容,将其转为字节流(byte[])通过通信接口进行发送即可。具体代码如下:文章来源地址https://www.toymoban.com/news/detail-677483.html
using UnityEngine;
using System.Net;
using System.Net.Sockets;
using System;
using System.Text;
using UnityEngine.UI;
public class TCPCommunication:MonoBehaviour
{
private static string IP = “192.168.1.25”//通信连接的服务器地址
private static int port = 8866;//端口号
private static Socket socketSend;
void Start()
{
connectServer();
}
///连接服务器
private static void connectServer()
{
try
{
socketSend = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp);
IPAddress ip = IPAddress.Parse(IP);
IPEndPoint point = new IPEndPoint(ip, Port);
socketSend.Connect(point);
Debug.Log("连接成功!")
}
catch(Exception ex)
Debug.Log("连接失败!");
}
///发送消息
public static void sendMessage(byte[] value)
{
try
{
if(socketSend.Connected)
sockedSend.Send(value);
}
catch
Debug.Log("发送信息失败!");
}
///断开服务器连接
private void OnDisable()
{
if(socketSend.Connected)
{
try
{
socketSend.Shutdown(SocketShutdown.Both);
socketSend.Close();
}
catch(Exception e)
Debug.Log(e.Message);
}
}
}
文章来源:https://www.toymoban.com/news/detail-677483.html
到了这里,关于Unity通过TCP/IP协议进行通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!