/// <summary> /// Method to send the given message to the server, in the required, hashmark - closed format /// </summary> /// <param name="message"></param> private void WriteMessageToServer(string message) { try { byte[] msg = Encoding.ASCII.GetBytes($"{message}#"); _stream.Write(msg, 0, msg.Length); } catch (IOException) { _pingTimer.Stop(); _pingTimer.Dispose(); ThisPlayerDisconnected?.Invoke(this, EventArgs.Empty); } catch (ObjectDisposedException) { } }
/// <summary> /// Method to read a message from the server, ending in a hashmark, which is removed from the actual message /// </summary> /// <returns></returns> private string ReadMessageFromServer() { try { StringBuilder message = new StringBuilder(); int character = _stream.ReadByte(); while ((char)character != '#') { message.Append((char)character); character = _stream.ReadByte(); } return(message.ToString()); } catch (IOException) { _pingTimer.Stop(); ThisPlayerDisconnected?.Invoke(this, EventArgs.Empty); return(null); } }