/// <summary> /// Send packet to all connected clients /// </summary> /// <param name="packet">Packet to send</param> public void SendToAll(Packet packet) { foreach (TcpClient c in tcpClients) { c.Send(packet.ToByteArray()); } }
/// <summary> /// When server receive data from a client /// </summary> /// <param name="tcpClient">TcpClient</param> /// <param name="packet">Packet</param> private void tcpServer_OnReceiveData(TcpClient tcpClient, Packet packet) { //Log(packet.ID); switch (packet.ID) { case 1: if (ListHelper.ArrayContains(tcpClient, players)) { Player tempPlayer = ListHelper.GetPlayerFromTcpClient(tcpClient, players); tempPlayer.TcpClient.Send(new Packet(3, new byte[1] { tempPlayer.Slot }).ToByteArray()); } break; case 4: tcpServer.SendToAll(packet); break; case 68: //tcpServer.SendToAll(packet); break; case 16: tcpServer.SendToAll(packet); break; case 42: tcpServer.SendToAll(packet); break; case 50: tcpServer.SendToAll(packet); break; case 5: tcpServer.SendToAll(packet); break; case 6: tcpClient.Send(new Packet(7, world.ToByteArray()).ToByteArray()); break; default: Log(Config.Lang.GetString("unknownPacketReceived") + " : " + packet.ID); break; } }