private void ListenActivity()
{
EndPoint remote = new IPEndPoint(IPAddress.Any, 0);
for (;;)
{
byte[] message = new byte[BUF];
while (this.socket.Available == 0) { }
int size = this.socket.ReceiveFrom(message, ref remote);
if (size == 0) continue;
Debug.Print("Received " + size + " bytes from " + ((IPEndPoint)remote).Address + " (" + ((IPEndPoint)remote).Port + ")");
string messageString = "";
for (int i = 0; i < size; ++i)
{
messageString += (int)message[i] + " ";
}
Debug.Print(messageString);
OtpInputStream inStream = new OtpInputStream(message);
OtpErlangObject msg = inStream.read_any();
Debug.Print(msg.ToString());
OtpErlangTuple t = new OtpErlangTuple(new OtpErlangObject[] { new OtpErlangAtom("ok"), msg });
OtpOutputStream outStream = new OtpOutputStream(t, false);
byte[] answer = outStream.GetBuffer();
this.socket.SendTo(answer, remote);
Debug.Print(t.ToString());
}
}