internal static void Input(string str) { if (str.StartsWith("discover ")) { s_peer.DiscoverLocalPeers(Int32.Parse(str.Substring(9))); return; } if (str.StartsWith("connect ")) { int idx = str.IndexOf(' ', 8); if (idx == -1) { // port only s_peer.Connect("127.0.0.1", Int32.Parse(str.Substring(8)), Encoding.ASCII.GetBytes("Hi; I'm " + s_peer.GetHashCode())); return; } else { // host and port string host = str.Substring(8, idx - 8); string portStr = str.Substring(idx + 1); s_peer.Connect(host, Int32.Parse(portStr), Encoding.ASCII.GetBytes("Hi; I'm " + s_peer.GetHashCode())); return; } } NetBuffer buffer = s_peer.CreateBuffer(); buffer.Write(str); // send to all other peers s_peer.SendToAll(buffer, NetChannel.ReliableUnordered); }
public void SendToAll(Packet packet, NetDeliveryMethod deliveryMethod = NetDeliveryMethod.Unreliable) { NetPeer.SendToAll(GetOutgoingMessageFromPacket(packet), deliveryMethod); }
//public static void WriteMessageToRemotePlayer(NetPeer peer, GameOptions gameOpts) //{ // byte[] serializedGameOptions; // MemoryStream ms = new MemoryStream(); // BinaryFormatter bf1 = new BinaryFormatter(); // bf1.Serialize(ms, gameOpts); // serializedGameOptions = ms.ToArray(); // NetBuffer buffer = new NetBuffer(serializedGameOptions); // peer.SendToAll(buffer, NetChannel.ReliableInOrder1); //} public static void WriteMessageToRemotePlayer(NetPeer peer, String msg) { Lidgren.Network.NetBuffer buff = new Lidgren.Network.NetBuffer(); buff.Write(msg); peer.SendToAll(buff, Lidgren.Network.NetChannel.ReliableInOrder1); }