TCPConnection.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Net.Sockets;
  6. using System.Text;
  7. using System.Threading;
  8. using System.Threading.Tasks;
  9. namespace FietsClient
  10. {
  11. public class TcpConnection
  12. {
  13. public TcpClient client;
  14. private NetworkStream serverStream;
  15. private string userID;
  16. private bool isConnectedFlag;
  17. public TcpConnection()
  18. {
  19. // create a connection
  20. client = new TcpClient();
  21. connect();
  22. }
  23. public bool isConnected()
  24. {
  25. return isConnectedFlag;
  26. }
  27. public void connect()
  28. {
  29. try
  30. {
  31. client.Connect("192.168.178.17", 1288);
  32. // create streams
  33. serverStream = client.GetStream();
  34. Thread t = new Thread(recieve);
  35. t.Start();
  36. isConnectedFlag = true;
  37. }
  38. catch (Exception ex)
  39. {
  40. Console.WriteLine(ex);
  41. Thread.Sleep(1000);
  42. isConnectedFlag = false;
  43. }
  44. }
  45. public void recieve ()
  46. {
  47. while (true)
  48. {
  49. byte[] bytesFrom = new byte[(int)client.ReceiveBufferSize];
  50. serverStream.Read(bytesFrom, 0, (int)client.ReceiveBufferSize);
  51. String response = Encoding.ASCII.GetString(bytesFrom);
  52. String[] response_parts = response.Split('|');
  53. if (response_parts.Length > 0)
  54. {
  55. switch (response_parts[0])
  56. {
  57. case "0": //login
  58. if (response_parts.Length == 4)
  59. {
  60. if (response_parts[1] == "1" && response_parts[2] == "1")
  61. {
  62. new DoctorForm().Show();
  63. }
  64. else if(response_parts[2] == "0" && response_parts[1] == "1")
  65. {
  66. new PatientForm().Show();
  67. }
  68. else
  69. {
  70. new Login("Geen gebruiker gevonden");
  71. }
  72. }
  73. break;
  74. }
  75. }
  76. }
  77. }
  78. public void sendLogin(string username, string password)
  79. {
  80. // send command ( cmdID | username | password )
  81. sendString("0|" + username + "|" + password);
  82. }
  83. public void sendString(string s)
  84. {
  85. byte[] b = Encoding.ASCII.GetBytes(s);
  86. serverStream.Write(b, 0, b.Length);
  87. serverStream.Flush();
  88. }
  89. }
  90. }