java:ServerSocket中获取所有连接上的Socket

 我来答
校阳伯茂朝
2019-12-11 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:792万
展开全部
可以的。
首先确保你已经建立了ServerSocket(对象名字是server),并接受到了连接:
ArrayList<Socket
>
sockets
=
new
ArrayList<Socket>();
//保存所有接受的socket
while(true){
//一直接受连接
Socket
s
=
server.accept();
sockets.add(s);
}
///得到仍处于连接当中的Socket
public
ArrayList<Socket
>
getConnectedSockets(){
ArrayList<Socket
>
alivedSockets
=
new
ArrayList<Socket>();
for(int
i=0;i<sockets.size();i++){
if(sockets.get(i).isConnected()){
alivedSockets
.add(sockets.get(i));
}
}
return
alivedSockets;
}
释濡宋岳
游戏玩家

2019-11-05 · 非著名电竞玩家
知道小有建树答主
回答量:1.1万
采纳率:32%
帮助的人:645万
展开全部
就我目前的知识而言,ServerSocket中是不能获取得到所有accpet了的且仍处于连接当中的Socket,ServerSocket并没有提供类似的方法,accpet是一个阻塞操作操作,在单线程的ServerSocket中,只有处理完当前的socket之后才会继续处理下一个socket请求。在支持并发的情况下,我们一般把socket请求交给线程池来处理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式