千家信息网

Java Socket编程关键代码是什么

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容介绍了"Java Socket编程关键代码是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2026年11月01日Java Socket编程关键代码是什么

本篇内容介绍了"Java Socket编程关键代码是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  1. package sterning;

  2. import java.io.BufferedReader;

  3. import java.io.IOException;

  4. import java.io.InputStream;

  5. import java.io.InputStreamReader;

  6. import java.io.OutputStream;

  7. import java.io.PrintWriter;

  8. import java.net.*;

  9. import java.util.concurrent.*;

  10. public class MultiThreadServer {

  11. private int port=8821;

  12. private ServerSocket serverSocket;

  13. private ExecutorService executorService;//线程池

  14. private final int POOL_SIZE=10;//单个CPU线程池大小

  15. public MultiThreadServer() throws IOException{

  16. serverSocket=new ServerSocket(port);

  17. //Runtime的availableProcessor()方法返回当前系统的CPU数目.

  18. executorService=Executors.newFixedThreadPool
    (Runtime.getRuntime().availableProcessors()*POOL_SIZE);

  19. System.out.println("服务器启动");

  20. }

  21. public void service(){

  22. while(true){

  23. Socket socket=null;

  24. try {

  25. //接收客户连接,只要客户进行了连接,就会触发accept();从而建立连接

  26. socket=serverSocket.accept();

  27. executorService.execute(new Handler(socket));

  28. } catch (Exception e) {

  29. e.printStackTrace();

  30. }

  31. }

  32. }

  33. public static void main(String[] args) throws IOException {

  34. new MultiThreadServer().service();

  35. }

  36. }

  37. class Handler implements Runnable{

  38. private Socket socket;

  39. public Handler(Socket socket){

  40. this.socket=socket;

  41. }

  42. private PrintWriter getWriter(Socket socket) throws
    IOException{

  43. OutputStream socketsocketOut=socket.getOutputStream();

  44. return new PrintWriter(socketOut,true);

  45. }

  46. private BufferedReader getReader(Socket socket) throws
    IOException{

  47. InputStream socketsocketIn=socket.getInputStream();

  48. return new BufferedReader(new InputStreamReader
    (socketIn));

  49. }

  50. public String echo(String msg){

  51. return "echo:"+msg;

  52. }

  53. public void run(){

  54. try {

  55. System.out.println("New connection accepted "+
    socket.getInetAddress()+":"+socket.getPort());

  56. BufferedReader br=getReader(socket);

  57. PrintWriter pw=getWriter(socket);

  58. String msg=null;

  59. while((msg=br.readLine())!=null){

  60. System.out.println(msg);

  61. pw.println(echo(msg));

  62. if(msg.equals("bye"))

  63. break;

  64. }

  65. } catch (IOException e) {

  66. e.printStackTrace();

  67. }finally{

  68. try {

  69. if(socket!=null)

  70. socket.close();

  71. } catch (IOException e) {

  72. e.printStackTrace();

  73. }

  74. }

  75. }

  76. }

"Java Socket编程关键代码是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

代码 关键 编程 内容 客户 更多 知识 线程 实用 学有所成 接下来 单个 困境 大小 实际 情况 数目 文章 方法 服务器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 山东特亿宝互联网科技有限公司 互联网科技工作委员会 互联网科技产业 圆梦互联网科技 互联网金融 科技金融 互联网科技集团 互联网科技股有哪些 剑昆互联网络科技有限公司临桂 崇明区互联网教育科技诚信经营 江阴互联网智能科技产品进口 电子科技大学互联网创业大赛 中国互联网十大科技股排名 科技赋能视角下互联网保险发展 有人说阿里系是互联网科技企业 互联网时代科技型公司的机会 湖北辰鑫科技互联网 互联网科技收购价值 美国五大互联网科技公司市值多少 优雇互联网科技有限公司 科技与互联网 青海省互联网新科技 青岛中康互联网医疗科技有限公司 温州喔噻互联网科技有限公司 中国的互联网科技企业的崛起 北京华百购互联网科技有限公司 佳云科技和互联网广告 受益于互联网科技的高速发展 武汉健翔互联网络科技有限公司 元气玛特互联网科技公司是外包吗
0