public void init() { System.Console.WriteLine("Connecting to Illidan"); TcpClient client = new TcpClient(); client.Connect(_endpoint); JObject payload = new JObject( new JProperty("name", _name), new JProperty("methods", _methods), new JProperty("port", _port)); Stream s = client.GetStream(); StreamWriter sw = new StreamWriter(s, Encoding.UTF8); StreamReader sr = new StreamReader(s); DemonicMessage message = new DemonicMessage(); message.Id = 1; message.Name = "REGISTER"; message.Payload = payload.ToString(); //sw.AutoFlush = true; System.Console.WriteLine("Registering to Illidan"); Serializer.Serialize(sw.BaseStream, message); client.Close(); //DemonicMessage res = Serializer.Deserialize<DemonicMessage>(sr.BaseStream); //JObject response = JObject.Parse(res.Payload); // client.Close(); // System.Console.WriteLine("Got Illidan-Port " + response["port"].ToString()); // _endpoint = new IPEndPoint(IPAddress.Parse(response["ip"].ToString()), (int)response["port"]); // Thread thread = new Thread(new ThreadStart(Listen)); // thread.Start(); }
public void Send(int id, string message, JObject payload) { DemonicMessage msg = new DemonicMessage(); msg.Id = id; msg.Name = message; msg.Payload = payload.ToString(); TcpClient tcp = new TcpClient(); tcp.Connect(_endpoint); Stream s = tcp.GetStream(); StreamWriter sw = new StreamWriter(s); Serializer.Serialize(s, msg); tcp.Close(); System.Console.WriteLine("Sent Message"); }