added delegate for reading server response
This commit is contained in:
@@ -119,9 +119,9 @@ namespace RH_Engine
|
|||||||
panel = new
|
panel = new
|
||||||
{
|
{
|
||||||
size = new int[] { 1, 1 },
|
size = new int[] { 1, 1 },
|
||||||
resolution = new int[] { 256, 256 },
|
resolution = new int[] { 512, 512 },
|
||||||
background = new int[] { 1, 1, 1, 1 },
|
background = new int[] { 1, 0, 0, 0 },
|
||||||
castShadow = true
|
castShadow = false
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -140,7 +140,7 @@ namespace RH_Engine
|
|||||||
{
|
{
|
||||||
id = uuidPanel,
|
id = uuidPanel,
|
||||||
text = "Bike speed placeholder",
|
text = "Bike speed placeholder",
|
||||||
position = new int[] { 0, 0 },
|
position = new int[] { 100, 100 },
|
||||||
size = 32.0,
|
size = 32.0,
|
||||||
color = new int[] { 0, 0, 0, 1 },
|
color = new int[] { 0, 0, 0, 1 },
|
||||||
font = "segoeui"
|
font = "segoeui"
|
||||||
@@ -150,6 +150,20 @@ namespace RH_Engine
|
|||||||
return JsonConvert.SerializeObject(Payload(payload));
|
return JsonConvert.SerializeObject(Payload(payload));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string SwapPanelCommand(string uuid)
|
||||||
|
{
|
||||||
|
dynamic payload = new
|
||||||
|
{
|
||||||
|
id = "scene/panel/swap",
|
||||||
|
data = new
|
||||||
|
{
|
||||||
|
id = uuid
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return JsonConvert.SerializeObject(Payload(payload));
|
||||||
|
}
|
||||||
|
|
||||||
public string ClearPanel(string uuid)
|
public string ClearPanel(string uuid)
|
||||||
{
|
{
|
||||||
dynamic payload = new
|
dynamic payload = new
|
||||||
|
|||||||
@@ -19,16 +19,27 @@ namespace RH_Engine
|
|||||||
//new PC("DESKTOP-M2CIH87", "Fabian"),
|
//new PC("DESKTOP-M2CIH87", "Fabian"),
|
||||||
//new PC("T470S", "Shinichi"),
|
//new PC("T470S", "Shinichi"),
|
||||||
//new PC("DESKTOP-DHS478C", "semme"),
|
//new PC("DESKTOP-DHS478C", "semme"),
|
||||||
|
new PC("HP-ZBOOK-SEM", "Sem"),
|
||||||
//new PC("DESKTOP-TV73FKO", "Wouter"),
|
//new PC("DESKTOP-TV73FKO", "Wouter"),
|
||||||
new PC("DESKTOP-SINMKT1", "Ralf van Aert"),
|
new PC("DESKTOP-SINMKT1", "Ralf van Aert"),
|
||||||
//new PC("NA", "Bart")
|
//new PC("NA", "Bart")
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private static ServerResponseReader serverResponseReader;
|
||||||
private static void Main(string[] args)
|
private static void Main(string[] args)
|
||||||
{
|
{
|
||||||
TcpClient client = new TcpClient("145.48.6.10", 6666);
|
TcpClient client = new TcpClient("145.48.6.10", 6666);
|
||||||
|
|
||||||
CreateConnection(client.GetStream());
|
CreateConnection(client.GetStream());
|
||||||
|
|
||||||
|
serverResponseReader = new ServerResponseReader(client.GetStream());
|
||||||
|
serverResponseReader.callback = HandleResponse;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void HandleResponse(string message)
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,6 +157,8 @@ namespace RH_Engine
|
|||||||
Console.WriteLine(ReadPrefMessage(stream));
|
Console.WriteLine(ReadPrefMessage(stream));
|
||||||
WriteTextMessage(stream, mainCommand.bikeSpeed(uuidPanel));
|
WriteTextMessage(stream, mainCommand.bikeSpeed(uuidPanel));
|
||||||
Console.WriteLine(ReadPrefMessage(stream));
|
Console.WriteLine(ReadPrefMessage(stream));
|
||||||
|
|
||||||
|
WriteTextMessage(stream, mainCommand.SwapPanelCommand(uuidPanel));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
64
RH-Engine/ServerResponseReader.cs
Normal file
64
RH-Engine/ServerResponseReader.cs
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Net.Sockets;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading;
|
||||||
|
|
||||||
|
namespace RH_Engine
|
||||||
|
{
|
||||||
|
public delegate void OnResponse(string response);
|
||||||
|
class ServerResponseReader
|
||||||
|
{
|
||||||
|
public OnResponse callback
|
||||||
|
{
|
||||||
|
get;set;
|
||||||
|
}
|
||||||
|
public NetworkStream Stream { get; }
|
||||||
|
|
||||||
|
public ServerResponseReader(NetworkStream stream)
|
||||||
|
{
|
||||||
|
this.Stream = stream;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartRead()
|
||||||
|
{
|
||||||
|
Thread t = new Thread(() =>
|
||||||
|
{
|
||||||
|
if (this.callback == null)
|
||||||
|
{
|
||||||
|
throw new Exception("Callback not initialized!");
|
||||||
|
} else
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
string res = ReadPrefMessage(Stream);
|
||||||
|
this.callback(res);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string ReadPrefMessage(NetworkStream stream)
|
||||||
|
{
|
||||||
|
byte[] lengthBytes = new byte[4];
|
||||||
|
|
||||||
|
stream.Read(lengthBytes, 0, 4);
|
||||||
|
Console.WriteLine("read message..");
|
||||||
|
|
||||||
|
int length = BitConverter.ToInt32(lengthBytes);
|
||||||
|
|
||||||
|
//Console.WriteLine("length is: " + length);
|
||||||
|
|
||||||
|
byte[] buffer = new byte[length];
|
||||||
|
int totalRead = 0;
|
||||||
|
|
||||||
|
//read bytes until stream indicates there are no more
|
||||||
|
do
|
||||||
|
{
|
||||||
|
int read = stream.Read(buffer, totalRead, buffer.Length - totalRead);
|
||||||
|
totalRead += read;
|
||||||
|
//Console.WriteLine("ReadMessage: " + read);
|
||||||
|
} while (totalRead < length);
|
||||||
|
|
||||||
|
return Encoding.UTF8.GetString(buffer, 0, totalRead);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user