Advertisement
Guest User

Message Loss Client

a guest
Jun 1st, 2015
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.06 KB | None | 0 0
  1. using System;
  2. using System.Windows.Forms;
  3. using System.Text;
  4. using System.Net.Sockets;
  5. using System.Threading;
  6.  
  7.  
  8.  
  9. namespace WindowsFormsApplication2
  10. {
  11.  
  12.     public partial class Form1 : Form
  13.     {
  14.         public delegate void newDelegate();
  15.         public newDelegate myDelegate;
  16.         System.Net.Sockets.TcpClient clientSocket = new System.Net.Sockets.TcpClient();
  17.         NetworkStream serverStream = default(NetworkStream);
  18.         string readData = null;
  19.  
  20.         public Form1()
  21.         {
  22.             InitializeComponent();
  23.         }
  24.  
  25.         private void button1_Click(object sender, EventArgs e)
  26.         {
  27.             newMsg();
  28.         }
  29.  
  30.         private void newMsg()
  31.         {
  32.             byte[] outStream = System.Text.Encoding.ASCII.GetBytes(textBox2.Text + "$");
  33.             serverStream.Write(outStream, 0, outStream.Length);
  34.             serverStream.Flush();
  35.             textBox2.Text = "";
  36.         }
  37.  
  38.         private void button2_Click(object sender, EventArgs e)
  39.         {
  40.             readData = "Connecting to Chat Server ...";
  41.             msg();
  42.             clientSocket.Connect(txtIP.Text, int.Parse(txtPort.Text));
  43.             serverStream = clientSocket.GetStream();
  44.  
  45.             byte[] outStream = System.Text.Encoding.ASCII.GetBytes(txtName.Text + "$");
  46.             serverStream.Write(outStream, 0, outStream.Length);
  47.             serverStream.Flush();
  48.  
  49.             myDelegate = new newDelegate(disconnect);
  50.             Thread ctThread = new Thread(getMessage);
  51.             ctThread.IsBackground = true;
  52.             ctThread.Start();
  53.             button2.Enabled = false;
  54.         }
  55.  
  56.         private void getMessage()
  57.         {
  58.             while (true)
  59.             {
  60.                 serverStream = clientSocket.GetStream();
  61.                 int buffSize = 0;
  62.                 byte[] inStream = new byte[clientSocket.ReceiveBufferSize];
  63.                 buffSize = clientSocket.ReceiveBufferSize;
  64.                 try{
  65.                     serverStream.Read(inStream, 0, buffSize);
  66.                     string returndata = System.Text.Encoding.ASCII.GetString(inStream);
  67.                     readData = "" + returndata;
  68.                     msg();
  69.                 }catch{
  70.                     Invoke(myDelegate);
  71.                     return;
  72.                 }
  73.             }
  74.         }
  75.  
  76.         private void disconnect()
  77.         {
  78.             button2.Enabled = true;
  79.         }
  80.  
  81.         private void msg()
  82.         {
  83.             if (this.InvokeRequired)
  84.                 this.Invoke(new MethodInvoker(msg));
  85.             else
  86.                 textBox1.AppendText(Environment.NewLine + " >> " + readData);
  87.                 //textBox1.Text = textBox1.Text + Environment.NewLine + " >> " + readData;
  88.         }
  89.  
  90.         private void textBox2_KeyDown(object sender, KeyEventArgs e)
  91.         {
  92.             if (e.KeyCode == Keys.Enter)
  93.             {
  94.                 newMsg();
  95.             }
  96.         }
  97.  
  98.         private void cmdHost_Click(object sender, EventArgs e)
  99.         {
  100.             Server serv = new Server(txtLog);
  101.         }
  102.     }
  103.  
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement