El proyecto uinty necesita comunicarse con hardware escrito en C ++, por lo que para la comunicación se utiliza el protocolo TCP/IP, que implementa principalmente funciones como conexión con el servidor, envío de contenido de comunicación y desconexión.
De acuerdo con el formato de protocolo determinado, escriba el contenido que debe enviarse, conviértalo en un flujo de bytes (byte []) y envíelo a través de la interfaz de comunicación. El código específico es el siguiente:
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);
}
}
}