private void OnUserList(string command, string data) { var us = data.Split(','); isConnected = true; foreach (var cl in us) { if (cl == username) { ClientLog.Invoke("[Server]: Имя пользователя занято"); isConnected = false; return; } } ClientLog.Invoke("[Server]: Список подключенных клиентов:"); if (us.Length == 0 || (us.Length == 1 && us[0].Length == 0)) { ClientLog?.Invoke("[Server]: Вы единственный пользователь на сервере"); } foreach (var cl in us) { if (cl.Length != 0) { ClientLog.Invoke(">" + cl); } } ClientLog.Invoke("-----------------------------"); }
private void OnMessage(string command, string data) { if (isConnected) { ClientLog.Invoke(String.Format("{0}", data)); } }
public void Start() { isConnected = false; try { ClientLog.Invoke(String.Format("[Server]: Подключение к {0}", this.serverHost)); cSocket = new Socket(SocketType.Stream, ProtocolType.Tcp); cSocket.Connect(this.serverHost, port); net = new NetMessaging(cSocket); net.LoginCmdReceived += OnLogin; net.UserListCmdReceived += OnUserList; net.StartCmdReceived += OnStart; net.MessageCmdReceived += OnMessage; communicate = new Thread(() => { try { net.Communicate(); } catch (Exception) { ClientLog.Invoke("[Server]: Не удалось получить данные. Завершение соединения..."); } }); communicate.Start(); } catch (Exception) { ClientLog.Invoke("[Server]: Что-то пошло не так... :("); } }
private void OnStart(string command, string data) { if (isConnected) { ClientLog.Invoke("[Server]: Вы можете писать сообщения!"); GoMessaging(); } }
internal void HandleClientLog(object sender, ClientLoggerEventArgs args) { ClientLog?.Invoke(sender, args); }
protected virtual void OnClientLog(object sender, LogEventArgs e) { ClientLog?.Invoke(sender, e); }