Пример #1
0
 public void ReceiveData(object client)
 {
     try
     {
         TcpClient     tcpClient        = (TcpClient)client;
         NetworkStream networkStream    = tcpClient.GetStream();
         byte[]        receivedByteData = new byte[1024];
         int           receivedDataSize;
         while ((receivedDataSize = networkStream.Read(receivedByteData, 0, receivedByteData.Length)) > 0 && connectedThreadSafe)
         {
             try
             {
                 PrintReceivedData(Encoding.ASCII.GetString(receivedByteData, 0, receivedDataSize));
                 LogClientForm.Message(Encoding.ASCII.GetString(receivedByteData, 0, receivedDataSize));
             }
             catch (Exception ex)
             {
                 LogClientForm.Error(ex);
             }
         }
         networkStream.Flush();
         networkStream.Close();
     }
     catch (Exception ex)
     {
         LogClientForm.Error(ex);
     }
 }
 public string ConnectDiconnect(IPAddress ip, int port, string name)
 {
     try
     {
         if (!this.Connected)
         {
             this.ip   = ip;
             this.port = port;
             if (name != null || name != "")
             {
                 this.name = name;
             }
             this.Connected = true;
             Client.Connect(ip, port);
             return("Conected to the server: " + ip + " , port: " + port);
         }
         else
         {
             this.Connected = false;
             //this.ReceiveDataThread.Abort();
             this.Client.Client.Shutdown(SocketShutdown.Both);
             this.Client.Close();
             return("Disonnected from the server...");
         }
     }
     catch (Exception ex)
     {
         LogClientForm.Error(ex);
         return("Something went wrong: " + ex.ToString());
     }
 }
Пример #3
0
 private void btnServerConnect_Click(object sender, EventArgs e)
 {
     try
     {
         string connection;
         if (!clientConnector.Connected)                          // if not connected - Connect
         {
             connectedThreadSafe    = !clientConnector.Connected; // !false = true
             clientConnector.Client = new TcpClient();
             try
             {
                 if (!string.IsNullOrEmpty(txtServerIP.Text) && !string.IsNullOrEmpty(txtServerPort.Text))
                 {
                     IPAddress.TryParse(txtServerIP.Text, out ip);
                     int.TryParse(txtServerPort.Text, out port);
                 }
             }
             catch (Exception ex)
             {
                 LogClientForm.Error(ex);
             }
             connection = clientConnector.ConnectDiconnect(ip, port, clientName);
             clientConnector.ReceiveDataThread = new Thread(new ParameterizedThreadStart(ReceiveData));
             clientConnector.ReceiveDataThread.Start(clientConnector.Client);
             txtMessageSend.Focus();
             btnMessageSend.Enabled = true;
             txtServerIP.Enabled    = false;
             txtServerPort.Enabled  = false;
             btnClientName.Enabled  = false;
             btnServerConnect.Text  = "Disconnect";
         }
         else
         {
             connectedThreadSafe    = !clientConnector.Connected;
             connection             = clientConnector.ConnectDiconnect();
             btnMessageSend.Enabled = false;
             txtServerIP.Enabled    = true;
             txtServerPort.Enabled  = true;
             txtClientName.Enabled  = true;
             btnClientName.Enabled  = true;
             btnServerConnect.Text  = "Connect";
         }
         txtMessageDisplay.AppendText(">>" + connection.ToString() + Environment.NewLine);
     }
     catch (Exception ex)
     {
         LogClientForm.Error(ex);
     }
 }
        public string ConnectDiconnect()
        {
            try
            {
                this.Connected = false;
                this.Client.Client.Shutdown(SocketShutdown.Both);
                this.Client.Close();

                return("Disonnected from the server...");
            }
            catch (Exception ex)
            {
                LogClientForm.Error(ex);
                return("Something went wrong: " + ex.ToString());
            }
        }
Пример #5
0
 private void btnMessageSend_Click(object sender, EventArgs e)
 {
     try
     {
         if (clientConnector.Connected)
         {
             if (!string.IsNullOrEmpty(txtMessageSend.Text) || !string.IsNullOrWhiteSpace(txtMessageSend.Text))
             {
                 NetworkStream networkStream = clientConnector.Client.GetStream();
                 byte[]        buffer        = Encoding.ASCII.GetBytes(clientConnector.GetName() + ": " + txtMessageSend.Text);
                 networkStream.Write(buffer, 0, buffer.Length);
                 txtMessageSend.Clear();
             }
         }
     }
     catch (Exception ex)
     {
         LogClientForm.Error(ex);
     }
 }