コード例 #1
0
ファイル: ClientCore.cs プロジェクト: sttrox/ChatLAN
        public void JoinServer(string login)
        {
            if (_tcpClient == null)
            {
                Error?.Invoke(null, "Сервер не найден");
                _client = null;
                return;
            }

            Util.SerializeTypeObject(Util.TypeSoketMessage.Connect, login, _tcpClient.GetStream());
            byte[] b = Util.ReadAllBytes(_tcpClient);
            var    k = Util.DeserializeTypeObject <string>(b);

            if (k == null)
            {
                Error?.Invoke(null, "Что-то пошло не так. \n Попробуйте снова");
                return;
            }

            if (Util.TypeSoketMessage.Ok == k.TypeSoketMessage)
            {
                Join?.Invoke(null, null);
                NameUser = login;
            }
            else if (Util.TypeSoketMessage.ConflictName == k.TypeSoketMessage)
            {
                Error?.Invoke(null, "Такое имя занято");
            }
            else
            {
                Error?.Invoke(null, "Не удалось подключиться");
            }
        }
コード例 #2
0
ファイル: ClientCore.cs プロジェクト: sttrox/ChatLAN
        public static ClientCore InicializeClient(byte[] ipAdress, int port)
        {
            if (_client == null)
            {
                return(_client = new ClientCore(ipAdress, port));
            }
            if (_hashAdress.Equals(ipAdress, port))
            {
                _client._tcpClient.Close();
                _client = new ClientCore(ipAdress, port);
                return(_client);
            }

            if (NameUser == null)
            {
                return(null);
            }
            return(null);
        }
コード例 #3
0
ファイル: ClientCore.cs プロジェクト: sttrox/ChatLAN
 public static void RemoveClient()
 {
     _client._tcpClient.Close();
     _client = null;
 }