Unity通过TCP/IP协议进行通信

uinty项目中需要与C++编写的硬件进行通信,因此采用TCP/IP协议进行通信,主要实现了与服务器的连接、通信内容的发送以及断开连接等功能。
根据确定好的协议格式,编写需要发送的内容,将其转为字节流(byte[])通过通信接口进行发送即可。具体代码如下:

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);
		}
	}
}

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>