栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

创建一个套接字服务器,它允许通过线程和Java进行多个连接

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建一个套接字服务器,它允许通过线程和Java进行多个连接

问题是当前您正在接受连接,但是随后立即对其进行阻塞读取,直到连接关闭:

// After a few changes...Socket clientSocket = serverSocket.accept();BufferedReader in = new BufferedReader(new InputStreamReader(     clientSocket.getInputStream()));String nextLine;while ((nextLine = in.readLine()) != null) {    System.out.println(nextline);}

这意味着接受连接的同一线程正在尝试 处理 该连接。这样一来,您将无法同时使用多个连接。

而是创建一个实现的类(例如

ConnectionHandler
Runnable
,并让构造函数接受
Socket
。它的
run
方法应该处理连接。然后将代码更改为:

Socket clientSocket = serverSocket.accept();Runnable connectionHandler = new ConnectionHandler(clientSocket);new Thread(connectionHandler).start();

这将使您的“主”线程有空等待下一个连接。

(顺便说一句,

KnockKnockProtocol
该类并不是真正的“外部”类,它是示例的一部分。他们只是不清楚源在这里
…)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/486592.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号