У меня небольшая проблема с этим.У меня есть другая программа / программное обеспечение, которое преобразует изображение в байты и отправляет их дальше.Теперь мне нужно перехватить эти байты в Unity , преобразовать их обратно в изображение и установить в качестве текстуры.
Я уже установил соединение с другим программным обеспечением через TCP / IP система, соединение работает, другое программное обеспечение отправляет данные, но я понятия не имею, как преобразовать эти байты в img.
Debug.Log("client message received as: " + clientMessage);
- это всего лишь тест, поэтому я вижу, что данные поступают.
Вот мой код
img.LoadRawTextureData(Loader);
img.Apply();
GameObject.Find("Plane").GetComponent<Renderer>().material.mainTexture = img;
//
private void ListenForIncommingRequests()
{
try
{
tcpListener = new TcpListener(IPAddress.Parse("127.0.0.1"), 35800);
tcpListener.Start();
Debug.Log("Server is listening");
Byte[] bytes = new Byte[1024];
while (true)
{
using (connectedTcpClient = tcpListener.AcceptTcpClient())
{
using (NetworkStream stream = connectedTcpClient.GetStream())
{
int length;
while ((length = stream.Read(bytes, 0, bytes.Length)) != 0)
{
var incommingData = new byte[length];
Array.Copy(bytes, 0, incommingData, 0, length);
Loader = incommingData;
string clientMessage = Encoding.ASCII.GetString(incommingData);
Debug.Log("client message received as: " + clientMessage);
}
}
}
}
}
catch (SocketException socketException)
{
Debug.Log("SocketException " + socketException.ToString());
}
}