Guest User

Untitled

a guest
Jul 20th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. private TcpListener tcpListener;
  2. private Thread listenThread;
  3. public static TcpClient client;
  4.  
  5. public Form1()
  6. {
  7. InitializeComponent();
  8. this.tcpListener = new TcpListener(IPAddress.Any, 2020);
  9. this.listenThread = new Thread(new ThreadStart(ListenForClients));
  10. this.listenThread.Start();
  11. }
  12. private void ListenForClients()
  13. {
  14. this.tcpListener.Start();
  15.  
  16. while (true)
  17. {
  18. //blocks until a client has connected to the server
  19. client = this.tcpListener.AcceptTcpClient();
  20.  
  21.  
  22. //create a thread to handle communication
  23. //with connected client
  24. Thread clientThread = new Thread(new ParameterizedThreadStart(HandleClientComm));
  25. clientThread.Start(client);
  26. }
  27. }
  28. private void HandleClientComm(object client)
  29. {
  30. TcpClient tcpClient = (TcpClient)client;
  31. NetworkStream clientStream = tcpClient.GetStream();
  32.  
  33. //TcpClient client = new TcpClient(servername or ip , port);
  34. //IpEndPoint ipend = tcpClient.RemoteEndPoint;
  35. //Console.WriteLine(IPAddress.Parse(ipend.Address.ToString());
  36.  
  37. //label3.Text = IPAddress.Parse(((IPEndPoint)tcpClient.Client.RemoteEndPoint).Address.ToString()).ToString();
  38. SetControlPropertyThreadSafe(label3, "Text", IPAddress.Parse(((IPEndPoint)tcpClient.Client.RemoteEndPoint).Address.ToString()).ToString());
  39.  
  40. byte[] message = new byte[4096];
  41. int bytesRead;
  42.  
  43. while (true)
  44. {
  45. bytesRead = 0;
  46.  
  47. try
  48. {
  49. //blocks until a client sends a message
  50. bytesRead = clientStream.Read(message, 0, 4096);
  51. }
  52. catch
  53. {
  54. //a socket error has occured
  55. break;
  56. }
  57.  
  58. if (bytesRead == 0)
  59. {
  60. //the client has disconnected from the server
  61. break;
  62. }
  63.  
  64. //message has successfully been received
  65. ASCIIEncoding encoder = new ASCIIEncoding();
  66. //System.Diagnostics.Debug.WriteLine(encoder.GetString(message, 0, bytesRead));
  67.  
  68. string received_text = encoder.GetString(message, 0, bytesRead).ToString();
  69.  
  70. SetControlPropertyThreadSafe(label1, "Text", received_text);
  71.  
  72. if (received_text == "cmdtim")
  73. {
  74. SendData(DateTime.Now.ToString());
  75. }
  76. }
  77.  
  78. tcpClient.Close();
  79. }
  80.  
  81. public static TcpClient client;
  82.  
  83. client = this.tcpListener.AcceptTcpClient();
  84.  
  85. TcpClient client = this.tcpListener.AcceptTcpClient();
Add Comment
Please, Sign In to add comment