public void CancelGame(string gameTitle) { RemoveMessageFromQueue(BROADCAST_IP, eProtocol.GameCreated); NetworkMessage message = new NetworkMessage() { RecipientsIP = BROADCAST_IP, MessagePacket = new NetworkMessagePacket() { Command = eProtocol.GameCancelled, MessageText = gameTitle } }; AddMessageToQueue(message); }
public void StartGame(string playerIP) { RemoveMessageFromQueue(BROADCAST_IP, eProtocol.GameCreated); NetworkMessage message = new NetworkMessage() { RecipientsIP = playerIP, MessagePacket = new NetworkMessagePacket() { Command = eProtocol.StartGame } }; AddMessageToQueue(message); }
public void SendReadyToStart(string serverIP) { NetworkMessage message = new NetworkMessage() { RecipientsIP = serverIP, MessagePacket = new NetworkMessagePacket() { Command = eProtocol.ReadyToStart } }; AddMessageToQueue(message); }
public void SetActivePlayer(string playerIP, PlayerDetails activePlayer) { string messageText = Serialiser.SerializeToXml<PlayerDetails>(activePlayer); NetworkMessage message = new NetworkMessage() { RecipientsIP = playerIP, MessagePacket = new NetworkMessagePacket() { Command = eProtocol.SetActivePlayer, MessageText = messageText } }; AddMessageToQueue(message); }
public void SendLetters(string playerIP, GameLetters letters) { string messageText = Serialiser.SerializeToXml<GameLetters>(letters); NetworkMessage message = new NetworkMessage() { RecipientsIP = playerIP, MessagePacket = new NetworkMessagePacket() { Command = eProtocol.SendLetters, MessageText = messageText } }; AddMessageToQueue(message); }
public void SendPlayersTurnDetails(string serverIP, PlayersTurnDetails iPlayersTurnDetails) { string messageText = Serialiser.SerializeToXml<PlayersTurnDetails>(iPlayersTurnDetails); NetworkMessage message = new NetworkMessage() { RecipientsIP = serverIP, MessagePacket = new NetworkMessagePacket() { Command = eProtocol.PlayersTurnDetails, MessageText = messageText } }; AddMessageToQueue(message); }
public void ExchangeLetter(TileDetails letter) { string messageText = Serialiser.SerializeToXml<TileDetails>(letter); NetworkMessage message = new NetworkMessage() { RecipientsIP = IpAddress, MessagePacket = new NetworkMessagePacket() { Command = eProtocol.ExchangeLetter, MessageText = messageText } }; AddMessageToQueue(message); }
public void JoinGame(string creatorsIpAddress, PlayerDetails activePlayer) { if (!QueueContainsMessage(creatorsIpAddress, eProtocol.GameJoined)) { string messageText = Serialiser.SerializeToXml<PlayerDetails>(activePlayer); NetworkMessage message = new NetworkMessage() { RecipientsIP = creatorsIpAddress, MessagePacket = new NetworkMessagePacket() { Command = eProtocol.GameJoined, MessageText = messageText } }; AddMessageToQueue(message); } }
private void AcknowledgedMessage(string recipientsIP, NetworkMessagePacket messagePacket) { if (messagePacket.Command != eProtocol.Acknowledge) { NetworkMessage message = new NetworkMessage() { RecipientsIP = recipientsIP, MessagePacket = new NetworkMessagePacket() { ID = messagePacket.ID, Command = eProtocol.Acknowledge } }; AddMessageToQueue(message); } }
private void PingAddress(string ipAddressToPing) { NetworkMessage message = new NetworkMessage() { RecipientsIP = ipAddressToPing, MessagePacket = new NetworkMessagePacket() { Command = eProtocol.Ping } }; AddMessageToQueue(message); }
public async void SendMessageAsync(NetworkMessage message) { try { message.SendAttempts++; message.TimeStamp = DateTime.Now; using (IOutputStream stream = await m_broadcastSocket.GetOutputStreamAsync(new HostName(message.RecipientsIP), GAME_PORT)) { using (DataWriter writer = new DataWriter(stream)) { var data = System.Text.Encoding.UTF8.GetBytes(Serialiser.SerializeToXml<NetworkMessagePacket>(message.MessagePacket)); writer.WriteBytes(data); await writer.StoreAsync(); } } } catch (Exception ex) { PostMessage(ex.Message); } }
private async void SendMessage(NetworkMessage message) { await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync (CoreDispatcherPriority.Normal, () => { SendMessageAsync(message); }); }
protected void AddMessageToQueue(NetworkMessage message) { if (!Paused) { lock (m_messageQueueLock) { m_outstandingMessages.Add(message); } } }