private void SignInBut_Click(object sender, EventArgs e) { if ((textBox1.Text.Length != 0) && (textBox2.Text.Length != 0)) { userName = textBox1.Text; string pass = textBox2.Text; try { client = new TcpClient(); client.Connect(host, port); //подключение клиента stream = client.GetStream(); // получаем поток CoreServer.Message tempMes = new CoreServer.Message("connection", userName, "", "", null); IFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, tempMes); tempMes = new CoreServer.Message("signIn", userName, pass, DateTime.Now.ToString(), null); formatter.Serialize(stream, tempMes); //Зпускаем новый поток для получения данных receiveThread = new Thread(new ThreadStart(ReceiveMessage)); receiveThread.Start(); } catch (Exception ex) { } } }
static void SendMessage(string message, string DateTime)//Метод отправки сообщения серверу { CoreServer.Message tempMes = new CoreServer.Message("mess", yourName, message, DateTime, null); IFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, tempMes); }
//Трансляция подключенным пользователям protected internal void BroadcastMessage(CoreServer.Message message, string id) { FROM.onlineList(clients); message.OnlineUser = GetClients(); for (int i = 0; i < clients.Count; i++) { if (clients[i].Id != id) // если id клиента не равно id отправляющего сообщение { IFormatter formatter = new BinaryFormatter(); //Сериализация объекта Mtssage в сетевой поток formatter.Serialize(clients[i].Stream, message); } } }
private void EndRegBut_Click(object sender, RoutedEventArgs e) { if ((Login.Text.Length != 0) && (Password.Text.Length != 0))//Проверка полей { userName = Login.Text; if (userName.Length < 3) { MessageBox.Show("Слишком короткое имя!"); } else { string pass = Password.Text; try { client = new TcpClient(); client.Connect(host, port); //Подключение к хосту stream = client.GetStream(); //Получение потока сети tempMes = new CoreServer.Message("connection", userName, "", "", null); //Отправка сообщения на запрос подключения formatter.Serialize(stream, tempMes); tempMes = new CoreServer.Message("regg", userName, pass, DateTime.Now.ToString(), null);//Отправка сообщения на запрос регистрации formatter.Serialize(stream, tempMes); //Запускаем новый поток для получения сообщений receiveThread = new Thread(new ThreadStart(ReceiveMessage)); receiveThread.Start(); //Старт потока } catch (Exception ex) { MessageBox.Show(ex.Message); } } } }