Java Socket会话如何实施共享 - Go语言中文社区

Java Socket会话如何实施共享


Java Socket会话一直在不断的使用,相关的问题需要不断的代码中找到答案。在下面的介绍中尼会详细的看看有关的代码。希望大家有所收获。在实际的网络环境里,同一时间只对一个用户服务是不可行的。

一个优秀的网络服务程序除了能处理用户的输入信息,还必须能够同时响应多个客户端的连接请求。在Java Socket会话中,实现以上功能特点是非常容易的。

设计原理:

主程序监听一端口,等待客户接入;同时构造一个线程类,准备接管会话。当一个Java Socket会话产生后,将这个会话交给线程处理,然后主程序继续监听。运用Thread类或Runnable接口来实现是不错的办法。

{实现消息共享}

  1. import java.io.*;  
  2. import java.net.*;  
  3. public class Server extends ServerSocket  
  4. {  
  5. private static final int SERVER_PORT = 10000;  
  6. public Server() throws IOException  
  7. {  
  8. super(SERVER_PORT);  
  9. try  
  10. {  
  11. while (true)  
  12. {  
  13. Socket socket = accept();  
  14. new CreateServerThread(socket);  
  15. }  
  16. }  
  17. catch (IOException e)  
  18. {}  
  19. finally  
  20. {  
  21. close();  
  22. }  
  23. }  
  24. //--- CreateServerThread  
  25. class CreateServerThread extends Thread  
  26. {  
  27. private Socket client;  
  28. private BufferedReader in;  
  29. private PrintWriter out;  
  30. public CreateServerThread(Socket s) throws IOException  
  31. {  
  32. client = s;  
  33. in = new BufferedReader(new InputStreamReader(client.
    getInputStream(), "GB2312"));  
  34. out = new PrintWriter(client.getOutputStream(), true);  
  35. out.println("--- Welcome ---");  
  36. start();  
  37. }  
  38. public void run()  
  39. {  
  40. try  
  41. {  
  42. String line = in.readLine();  
  43. while (!line.equals("bye"))  
  44. {  
  45. String msg = createMessage(line);  
  46. out.println(msg);  
  47. line = in.readLine();  
  48. }  
  49. out.println("--- See you, bye! ---");  
  50. client.close();  
  51. }  
  52. catch (IOException e)  
  53. {}  
  54. }  
  55. private String createMessage(String line)  
  56. {  
  57. xxxxxxxxx;  
  58. }  
  59. }  
  60. public static void main(String[] args) throws 
    IOException  
  61. {  
  62. new Server();  
  63. }  

以上就是对Java Socket会话的代码详细介绍,希望大家有所帮助。

版权声明:本文来源51CTO,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:http://developer.51cto.com/art/201003/189868.htm
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-16 01:40:54
  • 阅读 ( 606 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢