public void Send(ProtocolType protocolType, Packet packet) { switch (protocolType) { case ProtocolType.Tcp: stream.Write(packet.ToBytes(), 0, packet.Length); break; case ProtocolType.Udp: udpClient.Send(packet.ToBytes(), packet.Length); break; } }
static async Task RunAsSensor() { Console.WriteLine("Sensor type: "); var sensorType = Console.ReadLine().Trim(); const int low = 2048; const int high = 4096; //const int barrier = high - low / 2; var rnd = new Random(); while (true) { var data = rnd.Next(low, high + 1); Console.WriteLine($"{sensorType} : {data}"); var packet = new Packet(CLIENT_ID, ClientAction.Send, new string[] { sensorType }, data); var bytesToSend = packet.ToBytes(); try { _socket.Send(bytesToSend, 0, bytesToSend.Length, SocketFlags.None); } catch (Exception ex) { Console.WriteLine($"An error occured: {ex.Message}"); Thread.Sleep(2000); Environment.Exit(0); } //if (data > barrier) //{ //} await Task.Delay(data); } }
static async Task RunAsExecutor() { int input; GetSensorList(); await Task.Delay(1000); if (ReceiviedCode == StatusCode.Fail) { Environment.Exit(0); } Console.WriteLine("Type: 1 - Valve; 2 - Pump; 3 - Switch;"); while (!int.TryParse(Console.ReadLine(), out input)) { Console.WriteLine("Type: 1 - Valve; 2 - Pump; 3 - Switch;"); } SensorType = (Executor)input; Console.WriteLine($"{(Executor)input} - Get data from sensor: "); var sensorToSubscribe = Console.ReadLine().Trim(); var packet = new Packet(CLIENT_ID, ClientAction.Subscribe, sensorToSubscribe.Contains(';') ? sensorToSubscribe.Split(';') : new string[] { sensorToSubscribe }, null); var bytes = packet.ToBytes(); _socket.Send(bytes, 0, bytes.Length, SocketFlags.None); new Thread(ListenForMessages).Start(); }
private void OnLobbyReadyStateChange(bool state) { Debug.Log("Sending lobby ready state"); Packet p = new Packet(PacketType.LOBBYEVENT, clientID); if (state) { p.GdataInts.Add(2); p.GdataInts.Add(1); } else { p.GdataInts.Add(2); p.GdataInts.Add(0); } try { master.Send(p.ToBytes()); } catch (SocketException ex) { Debug.Log("SocketException: " + ex); Debug.Log("Connection to server lost."); Disconnect(); } }
private void button7_Click(object sender, EventArgs e) // show results { if (cbAdType.SelectedItem != null && cbGenre.SelectedItem != null && cbInstrument != null) { Packet searchQuery = new Packet(Packet.PacketType.Search, Connection.id); searchQuery.gData.Add(cbAdType.SelectedItem.ToString()); searchQuery.gData.Add(cbGenre.SelectedItem.ToString()); searchQuery.gData.Add(cbInstrument.SelectedItem.ToString()); Connection.master.Send(searchQuery.ToBytes()); Thread.Sleep(400); if (Connection.findedTitles.Length > 0) { for (int i = 0; i < Connection.findedemail.Length; i++) { ListViewItem listItem = new ListViewItem(i.ToString()); listItem.SubItems.Add(Connection.findedemail[i]); listItem.SubItems.Add(Connection.findedTitles[i]); listView.Items.Add(listItem); } } else { MessageBox.Show("No results!"); } } else { MessageBox.Show("Fill all combo boxes!"); } }
private void OnProjectileSpawned(int projectileOwnerIndex, int projectileIndex, int projectileType, Vector3 spawnPosition, Vector3 spawnRotation, bool isControlledByServer) { if (!isControlledByServer) { Packet p = new Packet(PacketType.PROJECTILE, clientID); p.GdataInts.Add(0); p.GdataInts.Add(projectileOwnerIndex); p.GdataInts.Add(projectileIndex); p.GdataVectors.Add(new Vector_3(spawnPosition)); p.GdataVectors.Add(new Vector_3(spawnRotation)); try { master.Send(p.ToBytes()); } catch (SocketException ex) { Debug.Log("SocketException: " + ex); Debug.Log("Connection to server lost."); Disconnect(); } } }
void OnDisable() { em.OnRequestConnectToNetwork -= OnRequestConnectToNetwork; em.OnRequestDisconnectFromNetwork -= OnRequestDisconnectFromNetwork; em.OnRequestServerIPAddress -= Packet.GetIP4Address; Packet p = new Packet(PacketType.LOBBYEVENT, clientID); p.GdataInts.Add(4); try { master.Send(p.ToBytes()); } catch (SocketException ex) { Debug.Log("SocketException: " + ex); } if (incomingDataThread != null) { incomingDataThread.Abort(); incomingDataThread = null; Debug.Log("IncomingData thread aborted"); } if (master != null) { master.Close(); master = null; Debug.Log("MasterSocket closed"); } }
static void Main(string[] args) { try { ConsoleKeyInfo cki; Console.WriteLine("Enter Your Name:"); name = Console.ReadLine(); Console.Clear(); cMaster = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); InitializeConnection(); Thread t = new Thread(data_IN); t.Start(); for (;;) { Console.Write("::>"); cki = Console.ReadKey(); string input = Console.ReadLine(); Packet p = new Packet(PacketType.mMessage, id); p.Gdata.Add(name); p.Gdata.Add(cki.KeyChar + input); cMaster.Send(p.ToBytes()); } } catch (Exception ex) { Console.Write(ex.ToString()); } }
private void btnSendAdToServer_Click(object sender, EventArgs e) { if (cbAdType.SelectedItem != null && cbInstrument != null && cbMusicGenre != null && !string.IsNullOrWhiteSpace(tbTitle.Text) && !string.IsNullOrWhiteSpace(tbDesc.Text)) { Packet adPacket = new Packet(Packet.PacketType.PostAd, Connection.id); adPacket.gData.Add(tbTitle.Text); adPacket.gData.Add(tbDesc.Text); adPacket.gData.Add(cbAdType.SelectedItem.ToString()); adPacket.gData.Add(cbInstrument.SelectedItem.ToString()); adPacket.gData.Add(cbMusicGenre.SelectedItem.ToString()); adPacket.gData.Add(Connection.loggedUserEmail); Connection.master.Send(adPacket.ToBytes()); Thread.Sleep(500); if (Connection.poadAdSuccess) { MessageBox.Show("Success!"); } else { MessageBox.Show("Fail!"); } } else { MessageBox.Show("Fill all fields!"); } }
static void SendMessage() { while (true) { try { string input = Console.ReadLine(); Packet p; if (input != "") { p = new Packet(PacketType.answer, input); master.Send(p.ToBytes()); break; } } catch (SocketException ex) { ConsoleColor cc = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.WriteLine("Server Disconnected"); Console.ForegroundColor = cc; master.Close(); Connecect(); } catch { Environment.Exit(0); } } }
// halutaan käynnistää alkuun tätä classia käynnistäessä public void Main(string nickName, string ip, string port, ClientForm form) { // merkkaa käyttöliittymän polun muuttujaan cForm = form; // socketin säädöt master = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(ip), Int32.Parse(port)); name = nickName; // yritetään liittyä halutulle serverille try { master.Connect(ipe); cForm.WriteMessage("Connected to the server!"); // käynnistetään uusi threadi ottamaan dataa vastaan Thread t = new Thread(() => { Data_IN(cForm); }); t.Start(); // lähetetään paketti serverille rekisteröimistä varten Packet p = new Packet(PacketType.Registeration, name); master.Send(p.ToBytes()); } // tehdään, mikäli yhteys serveriin ei jostain syystä onnistunut catch (Exception ex) { Console.WriteLine(ex.Message); cForm.WriteMessage("Could not connect to host!"); } }
// lähettää viestin serverille public void SendMessage(string input) { Packet p = new Packet(PacketType.Chat, id); p.Gdata.Add(name); p.Gdata.Add(input); master.Send(p.ToBytes()); }
public static void SendRegistrationPacket() { Packet p = new Packet(packetType.Registration, id); p.Gdata.Add(id); p.Gdata.Add(name); p.Gdata.Add(password); master.Send(p.ToBytes()); }
/// <summary> /// send message to server /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SendBtn_Click(object sender, RoutedEventArgs e) { string msg = Msg.Text; Msg.Text = string.Empty; Packet p = new Packet(PacketType.Chat, ID); p.data.Add(login); p.data.Add(msg); socket.Send(p.ToBytes()); }
private void SendToServer(Packet p) { try { socket.Send(p.ToBytes()); } catch (Exception ex) { AppendMsgBoard("Couldn't send this msg\r\n"); AppendMsgBoard(ex.ToString() + "\r\n"); Msg.Text = ""; } }
private void DataManager(Packet p) { switch (p.packetType) { case PacketType.Registration: ID = p.data[0]; who = p.senderWho; Packet packet = new Packet(PacketType.Chat, ID); packet.data.Add(login); packet.data.Add("Connected"); socket.Send(packet.ToBytes()); SetLabelVisibility(); break; case PacketType.Chat: case PacketType.CloseConnection: if (p.data.Count == 2) { AppendMsgBoard(p.data[0] + ": " + p.data[1] + "\r\n"); } else { foreach (string str in p.data) { AppendMsgBoard(str + "\r\n"); } } if (p.packetBool == true) { if (who == 'A') { myTurn = true; SetLabelRdy("Twój ruch"); } else if (who == 'B') { SetLabelRdy("Ruch przeciwnika"); } } break; case PacketType.Battleship_shot: Shoot(p); break; case PacketType.Game_over: GameOver(p); break; } }
/// <summary> /// on window close event update server for close connection /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MainWindow_Closed(object sender, EventArgs e) { if (isConnected) { Packet p = new Packet(PacketType.CloseConnection, ID); p.data.Add(login); p.data.Add("Exit from Chat"); socket.Send(p.ToBytes()); socket.Close(); isConnected = false; thread.Abort(); } }
private void OnExitNetworkMultiplayerMidGame() { Packet p = new Packet(PacketType.LOBBYEVENT, clientID); p.GdataInts.Add(4); try { master.Send(p.ToBytes()); } catch (SocketException ex) { Debug.Log("SocketException: " + ex); Debug.Log("Connection to server lost."); Disconnect(); } }
private void OnRequestRestartFromServer() { Debug.Log("NetworkClient: OnRequestRestartFromServer"); Packet p = new Packet(PacketType.GAMESTART, clientID); p.GdataInts.Add(2); try { master.Send(p.ToBytes()); } catch (SocketException ex) { Debug.Log("SocketException: " + ex); Debug.Log("Connection to server lost."); Disconnect(); } }
private void OnRequestOnlineMatchStart() { Debug.Log("Sending start match request"); Packet p = new Packet(PacketType.LOBBYEVENT, clientID); p.GdataInts.Add(3); try { master.Send(p.ToBytes()); } catch (SocketException ex) { Debug.Log("SocketException: " + ex); Debug.Log("Connection to server lost."); Disconnect(); } }
private void OnRequestLobbyExit() { Packet p = new Packet(PacketType.LOBBYEVENT, clientID); p.GdataInts.Add(0); p.GdataInts.Add(0); try { master.Send(p.ToBytes()); } catch (SocketException ex) { Debug.Log("SocketException: " + ex); Debug.Log("Connection to server lost."); Disconnect(); } }
private void OnNetworkMultiplayerMatchInitialized() { Debug.Log("Sending match initialization completed check to server"); Packet p = new Packet(PacketType.GAMESTART, clientID); p.GdataInts.Add(1); try { master.Send(p.ToBytes()); } catch (SocketException ex) { Debug.Log("SocketException: " + ex); Debug.Log("Connection to server lost."); Disconnect(); } }
static void Main(string[] args) { Console.Write("Enter host IP address: "); String ip = Console.ReadLine(); Console.Clear(); Console.Write("Enter your name: "); name = Console.ReadLine(); Console.Write("Enter Password: "******"Wrong username or password!"); Console.WriteLine("Press any key to continue .."); Console.ReadLine(); } } catch { Console.WriteLine("Could not connect to host"); } }
private static bool Handler(CtrlType sig) { switch (sig) { case CtrlType.CTRL_C_EVENT: case CtrlType.CTRL_LOGOFF_EVENT: case CtrlType.CTRL_SHUTDOWN_EVENT: case CtrlType.CTRL_CLOSE_EVENT: Packet p = new Packet(PacketType.dissconnect, ""); master.Send(p.ToBytes()); master.Close(); return(true); default: return(false); } }
static void Main(string[] args) { Console.Write("Enter your name: "); name = Console.ReadLine(); Console.Write("Enter host IP Address: "); string ip = Console.ReadLine(); masterSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(ip), 8888); try { masterSocket.Connect(ipe); } catch { Console.WriteLine("Could not connect to host IP"); } Thread t = new Thread(DataIn); t.Start(); while (true) { try { string input = Console.ReadLine(); Packet p = new Packet(id, PacketType.Chat); p.data.Add(name); p.data.Add(input); masterSocket.Send(p.ToBytes()); } catch (SocketException ex) { Console.WriteLine("The server has disconnected!"); Console.ReadLine(); Environment.Exit(1); } } }
private static void GetSensorList() { var packet = new Packet(CLIENT_ID, ClientAction.TopicList, null, null); var bytes = packet.ToBytes(); _socket.Send(bytes, 0, bytes.Length, SocketFlags.None); new Thread(() => { try { byte[] buffer; int readBytes; var contentRead = false; while (!contentRead) { buffer = new byte[_socket.Available]; readBytes = _socket.Receive(buffer, SocketFlags.None); if (readBytes > 0) { var response = new Response(buffer); if (response.Code == StatusCode.Fail) { Console.WriteLine("An error occured."); } else { Console.WriteLine(response.Message); //var content = Encoding.ASCII.GetString(buffer); //Console.WriteLine(content); contentRead = true; } ReceiviedCode = response.Code; } } } catch (SocketException) { Console.WriteLine("A server has disconnected."); Console.ReadLine(); Environment.Exit(0); } }).Start(); }
private void OnRequestLobbyEnter() { lobbyJoinedResponse = 2; Packet p = new Packet(PacketType.LOBBYEVENT, clientID); p.GdataInts.Add(0); p.GdataInts.Add(1); p.GdataStrings.Add(clientName); try { master.Send(p.ToBytes()); } catch (SocketException ex) { Debug.Log("SocketException: " + ex); Debug.Log("Connection to server lost."); Disconnect(); } }
/// <summary> /// manage all received packages by PacketType /// </summary> /// <param name="p"></param> private void DataManager(Packet p) { switch (p.packetType) { case PacketType.Registration: ID = p.data[0]; Packet packet = new Packet(PacketType.Chat, ID); packet.data.Add(login); packet.data.Add("Enter to Chat"); socket.Send(packet.ToBytes()); break; case PacketType.Chat: case PacketType.CloseConnection: AddMsgToBoard(p.data[1], p.data[0]); break; } }
private void OnShipDead(int shipIndex, int killerIndex, float lifetime) { Packet p = new Packet(PacketType.DEATH, clientID); p.GdataInts.Add(0); p.GdataInts.Add(shipIndex); p.GdataInts.Add(killerIndex); try { master.Send(p.ToBytes()); } catch (SocketException ex) { Debug.Log("SocketException: " + ex); Debug.Log("Connection to server lost."); Disconnect(); } }
static void Main(string[] args) { Console.Write("Enter your name: "); name = Console.ReadLine(); A : Console.Write("IP Adress: "); string rip = Console.ReadLine(); master = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint ip = new IPEndPoint(IPAddress.Parse(rip), 4242); try { master.Connect(ip); } catch { Console.WriteLine("Cannot connect..."); Thread.Sleep(1000); goto A; } Thread t = new Thread(Data_IN); t.Start(); while (true) { if (chatReady) { Console.Write(": "); string input = Console.ReadLine(); Packet p = new Packet(PacketType.Chat, id); p.Gdata.Add(name); p.Gdata.Add(input); master.Send(p.ToBytes()); chatReady = false; } } }