//************************************* public bool Join_Swarm(string DstIP, string DstPort,string SrcIP, string SrcPort,string Username) { Thread t1 = null; Thread t2 = null; try { t1 = new Thread(new ThreadStart(mSocket.StartListening)); t1.Start(); t1.IsBackground = true; string cpu = "1"; mSocket.SetIP(SrcIP); mSocket.SetPort(SrcPort); mSocket.SetName(Username); mSocket.SetCPU(cpu); MessageGenerator msg = new MessageGenerator(); string mMsg = msg.msgConnectionRequest (mSocket.GetIP(), mSocket.GetPort(), mSocket.GetName(), mSocket.GetCPU()); AsynchronousClient client = new AsynchronousClient(); client.SetSingleMsg(DstIP, DstPort, mMsg); t2 = new Thread(new ThreadStart(client.SendSingleClient)); t2.Start(); t2.IsBackground = true; return true; } catch (Exception ex) { Debug.WriteLine(ex.Message); return false; } }
private void Send_ChatMsg(object sender, EventArgs e) { Thread t = null; MessageGenerator mMsg = new MessageGenerator(); string msg = mMsg.msgChat(this.richTextBox1.Text, mSocket.GetIP() + ":" + mSocket.GetPort()); AsynchronousClient client = new AsynchronousClient(); client.SetMultiMsg(mSocket.GetIPtoPeer(), msg, mSocket.GetIP() + ":" + mSocket.GetPort()); t = new Thread(new ThreadStart(client.SendMultiClient)); t.Start(); t.IsBackground = true; //m.HandleChatMessages("Peer1", richTextBox1.Text); }
private void Connection_Request(object sender, EventArgs e) { MessageGenerator msg = new MessageGenerator(); string DstIp = textBox1.Text; string DstPort = textBox2.Text; string mMsg = msg.msgConnectionRequest (mSocket.GetIP(), mSocket.GetPort(), mSocket.GetName(), mSocket.GetCPU()); AsynchronousClient client = new AsynchronousClient(); client.SetSingleMsg(DstIp, DstPort,mMsg); Thread t = null; t = new Thread(new ThreadStart(client.SendSingleClient)); t.Start(); t.IsBackground = true; this.button1.Enabled = false; this.button2.Enabled = false; this.button3.Enabled = true; }
public bool RunClicked(string myIP, string myPort) { string[] target = owner.Split(':'); string ip = target[0]; string port = target[1]; MessageGenerator mg = new MessageGenerator(); string request = mg.msgRunRequest(Pid, myIP + ":" + myPort); AsynchronousClient client = new AsynchronousClient(); client.SetSingleMsg(ip, port, request); Thread t = new Thread(new ThreadStart(client.SendSingleClient)); t.IsBackground = true; t.Start(); while (StartFlag == "") Thread.Sleep(500); if (StartFlag == "Fail") return false; else { setMaster(myIP + ":" + myPort); setBackUp(selectBackUp()); if (rnBtnClicked != null) rnBtnClicked(true); if (permissions.Count > 1) { List<string> endPoints = Peers(); Hashtable temp = conn.GetIPtoPeer(); Hashtable tempToSend = new Hashtable(); foreach (DictionaryEntry item in temp) { if (endPoints.Contains(item.Key.ToString())) { tempToSend.Add(item.Key, item.Value); } } AsynchronousClient client1 = new AsynchronousClient(); client1.SetMultiMsg(temp, getMasterBackUpXML(), myIP + ":" + myPort); Thread t1 = new Thread(new ThreadStart(client1.SendMultiClient)); t1.IsBackground = true; t1.Start(); } return true; } }
public void Send_ChatMsg(string chatMsg, string Username) { try { Thread t = null; MessageGenerator mMsg = new MessageGenerator(); //Chat username to be included string msg = mMsg.msgChat(chatMsg, mSocket.GetIP() + ":" + mSocket.GetPort()); AsynchronousClient client = new AsynchronousClient(); client.SetMultiMsg(mSocket.GetIPtoPeer(), msg, mSocket.GetIP() + ":" + mSocket.GetPort()); t = new Thread(new ThreadStart(client.SendMultiClientChat)); t.IsBackground = true; t.Start(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Failed to send chat message."); } }
//************************************* public bool Join_Swarm(string DstIP, string DstPort, string SrcIP, string SrcPort, string Username) { Thread t1 = null; Thread t2 = null; try { string cpu = "1"; mSocket.SetIP(SrcIP); mSocket.SetPort(SrcPort); mSocket.SetName(Username); mSocket.SetCPU(cpu); listenerThread = new Thread(new ThreadStart(mSocket.StartListening)); listenerThread.IsBackground = true; listenerThread.Start(); t1 = new Thread(new ThreadStart(mSocket.StarHeartBeat)); t1.IsBackground = true; t1.Start(); MessageGenerator msg = new MessageGenerator(); string mMsg = msg.msgConnectionRequest (mSocket.GetIP(), mSocket.GetPort(), mSocket.GetName(), mSocket.GetCPU()); AsynchronousClient client = new AsynchronousClient(); client.ErrorExcep += new AsynchronousClient.EventHandlerExcep(Error_Changed); client.SetSingleMsg(DstIP, DstPort, mMsg); // t2 = new Thread(new ThreadStart(client.SendSingleClient)); client.SendSingleClient(); // t2.Start(); // t2.IsBackground = true; Thread.Sleep(2000); if (mSocket.GetIPtoPeer().Count > 0) return true; else return false; } catch (Exception ex) { MessageBox.Show(ex.Message, "Failed to join swarm."); return false; } }
public void Disconnect() { MessageGenerator temp = new MessageGenerator(); string msg = temp.msgDisconnect(mPeer.mIP + ":" + mPeer.mPort); Thread t = null; AsynchronousClient client = new AsynchronousClient(); client.SetMultiMsg(GetIPtoPeer(), msg, GetIP() + ":" + GetPort()); t = new Thread(new ThreadStart(client.SendMultiClient)); t.Start(); t.IsBackground = true; }
public void StarHeartBeat() { MessageGenerator temp=new MessageGenerator(); string HeartBeatRequestmsg = temp.msgHeartBeatRequest(GetIP() + ":" + GetPort()); while (true) { try { if (IPtoPeer.Count > 1) { foreach (string IP in IPtoPeer.Keys) { if (IP != GetIP() + ":" + GetPort()) { Peer p = new Peer(); p = (Peer)IPtoPeer[IP]; string ip = p.mIP; string port = p.mPort; HeartbeatClient client = new HeartbeatClient(); client.SetSingleMsg(ip, port, HeartBeatRequestmsg); client.HeartBeatException += new HeartbeatClient.EventHandlerHeartBeat(ShutDown); Thread t; string sendtime = DateTime.Now.ToLongTimeString() + ":" + DateTime.Now.Millisecond.ToString(); InsertSendTime(ip+":"+port,sendtime); t = new Thread(new ThreadStart(client.SendSingleClient)); t.IsBackground = true; t.Start(); Thread.Sleep(3000); } } } } catch (Exception e) { Console.WriteLine(e.ToString()); } } }
public void Disconnect() { try { MessageGenerator temp = new MessageGenerator(); string msg = temp.msgDisconnect(mPeer.mIP + ":" + mPeer.mPort); Thread t = null; AsynchronousClient client = new AsynchronousClient(); client.SetMultiMsg(GetIPtoPeer(), msg, GetIP() + ":" + GetPort()); t = new Thread(new ThreadStart(client.SendMultiClient)); t.IsBackground = true; t.Start(); } catch (Exception e) { Console.WriteLine(e.ToString()); } }
public void getRunMsg(String msg) { try { MessageGenerator temp = new MessageGenerator(); string pid = " "; string ipport = ""; string reply = ""; XDocument xml = XDocument.Parse(msg); var q = from x in xml.Elements() select x; //var q = from x in xml.Elements().Descendants("root") select x; pid = q.ElementAt(0).Attributes().ElementAt(1).Value; ipport = q.ElementAt(0).Attributes().ElementAt(2).Value; SwarmMemory sm = GetProg(pid.ToString()); if (sm.getRunFlag() == false) { sm.setRunFlag(true); reply = temp.msgRunSucessReply(pid); } else { reply = temp.msgRunFailReply(pid); } if (ipport != "") { string[] target = ipport.Split(':'); string ip = target[0]; string port = target[1]; AsynchronousClient client = new AsynchronousClient(); client.SetSingleMsg(ip, port, reply); Thread t; t = new Thread(new ThreadStart(client.SendSingleClient)); t.IsBackground = true; t.Start(); } } catch (Exception e) { Console.WriteLine(e.ToString()); } }
private void getHeartBeatRequestMsg(String msg) { try { Thread t; string ipport = GetIP() + ":" + GetPort(); string target = " "; string reply = " "; XDocument xml = XDocument.Parse(msg); var q = from x in xml.Descendants() where (x.Name == "root") select x; foreach (var elem in q) target = elem.Value; MessageGenerator temp = new MessageGenerator(); reply = temp.msgHeartBeatReply(ipport); AsynchronousClient client = new AsynchronousClient(); string[] str = target.Split(':'); string ip = str[0]; string port = str[1]; client.SetSingleMsg(ip, port, reply); t = new Thread(new ThreadStart(client.SendSingleClient)); t.IsBackground = true; t.Start(); } catch (Exception e) { Console.WriteLine(e.ToString()); } }
private void getConnectionRequestMsg(String msg) { try { String ip; String port; String name; String cpu; Thread t1 = null; Thread t2 = null; Thread t3 = null; XDocument xml = XDocument.Parse(msg); var q = from x in xml.Elements("root").Descendants() select x; foreach (var elem in q) { ip = elem.Attributes().ElementAt(0).Value; port = elem.Attributes().ElementAt(1).Value; name = elem.Attributes().ElementAt(2).Value; cpu = elem.Attributes().ElementAt(3).Value; if (IPtoPeer.Count > 0) { if (!NametoIP.Contains(name)) { InsertPeer(ip, port, name, cpu); if (IPtoPeer.Count == 2) SetBackup(ip + ":" + port); MessageGenerator temp = new MessageGenerator(); string mMsg = temp.msgIPtoPeer(IPtoPeer); string master = temp.msgMaster(GetMaster()); string backup = temp.msgBackup(GetBackup()); AsynchronousClient client1 = new AsynchronousClient(); client1.SetMultiMsg(IPtoPeer, mMsg, mPeer.mIP + ":" + mPeer.mPort); t1 = new Thread(new ThreadStart(client1.SendMultiClient)); t1.IsBackground = true; t1.Start(); AsynchronousClient client2 = new AsynchronousClient(); client2.SetSingleMsg(ip, port, master); t2 = new Thread(new ThreadStart(client2.SendSingleClient)); t2.IsBackground = true; t2.Start(); AsynchronousClient client3 = new AsynchronousClient(); client3.SetSingleMsg(ip, port, backup); t3 = new Thread(new ThreadStart(client3.SendSingleClient)); t3.IsBackground = true; t3.Start(); } else { MessageGenerator temp = new MessageGenerator(); string error = temp.msgError("10:Username Already Exists"); AsynchronousClient client = new AsynchronousClient(); client.SetSingleMsg(ip, port, error); t1 = new Thread(new ThreadStart(client.SendSingleClient)); t1.IsBackground = true; t1.Start(); } } else { MessageGenerator temp = new MessageGenerator(); string error = temp.msgError("10:Peer is not a part of Swarm"); AsynchronousClient client = new AsynchronousClient(); client.SetSingleMsg(ip, port, error); t1 = new Thread(new ThreadStart(client.SendSingleClient)); t1.IsBackground = true; t1.Start(); } } showTable(); } catch (Exception e) { Console.WriteLine(e.ToString()); } }