Guest User

ClientSessionTest.java

a guest
Oct 26th, 2011
547
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.io.PrintWriter;
  5. import java.net.Socket;
  6.  
  7. public class ClientSessionTest {
  8.  
  9. private Socket socket;
  10.  
  11. public ClientSessionTest(Socket socket) {
  12. System.out.println("new ClientSessionTest()");
  13. this.socket = socket;
  14.  
  15. initClientListener();
  16. }
  17.  
  18. private void initClientListener() {
  19. System.out.println("initClientListener()");
  20. Thread t = new Thread(new Runnable() {
  21.  
  22. @Override
  23. public void run() {
  24. try {
  25. BufferedReader socketReader = new BufferedReader(
  26. new InputStreamReader(socket.getInputStream()));
  27. final PrintWriter socketWriter = new PrintWriter(socket
  28. .getOutputStream(), true);
  29. String clientKey = null;
  30. String responseKey = null;
  31. while (true) {
  32. String line = socketReader.readLine();
  33. if (line == null) {
  34. System.out
  35. .println("received null from client - closing connection");
  36. break;
  37. } else if (line.isEmpty()) {
  38. System.out.println("empty line");
  39.  
  40. String _01 = "HTTP/1.1 101 Switching Protocols";
  41. String _02 = "Upgrade: websocket";
  42. String _03 = "Connection: Upgrade";
  43. String _04 = "Sec-WebSocket-Accept: " + responseKey;
  44. String _05 = "Sec-WebSocket-Protocol: chat";
  45. String _06 = "Content-Encoding: identity";
  46.  
  47. System.out.println(_01);
  48. System.out.println(_02);
  49. System.out.println(_03);
  50. System.out.println(_04);
  51. System.out.println(_05);
  52. System.out.println(_06);
  53. System.out.println("");
  54.  
  55. socketWriter.println(_01);
  56. socketWriter.println(_02);
  57. socketWriter.println(_03);
  58. socketWriter.println(_04);
  59. socketWriter.println(_05);
  60. socketWriter.println(_06);
  61. socketWriter.println("");
  62.  
  63. while (true) {
  64. byte[] buff = new byte[20];
  65. int length = socket.getInputStream().read(buff);
  66.  
  67. byte[] bstr = new byte[length];
  68. System.arraycopy(buff, 0, bstr, 0, length);
  69. System.out.println(new String(bstr));
  70. for(byte b : bstr){
  71. System.out.print(((int)b) + " ");
  72. }
  73. System.out.println();
  74. System.out.println();
  75. }
  76.  
  77. } else if (line.startsWith("Sec-WebSocket-Key:")) {
  78. clientKey = line.replace("Sec-WebSocket-Key: ", "");
  79. responseKey = ResponseGenerator
  80. .toResponseKey(clientKey);
  81. } else {
  82. System.out.println("" + line);
  83. // socketWriter.println("lala");
  84. }
  85.  
  86. }
  87. } catch (IOException e) {
  88. e.printStackTrace();
  89. }
  90.  
  91. }
  92. });
  93. t.start();
  94. }
  95.  
  96. }
  97.  
  98.  
Advertisement
Add Comment
Please, Sign In to add comment