开通一个服务器,单线程的
ServerSocket ss = new ServerSocket(port);
Socket socket = ss.accept();首先开一个客户端,显示连接成功,并且能从服务器接收数据,这时再开一个客户端,仍然显示连接成功,但不能接收数据。我想要的是第二个客户端开通时,不能连接服务器,抛出异常,怎么实现?
ServerSocket ss = new ServerSocket(port);
Socket socket = ss.accept();首先开一个客户端,显示连接成功,并且能从服务器接收数据,这时再开一个客户端,仍然显示连接成功,但不能接收数据。我想要的是第二个客户端开通时,不能连接服务器,抛出异常,怎么实现?
ServerSocket ss = new ServerSocket(port);
boolean first = true;
while (true) {
Socket socket = ss.accept();
if (first) {
// first do
first = false;
} else {
socket.close();
ServerSocket ss = new ServerSocket(port);
Socket socket = null;
if(socket==null){
ss.accept();
socket.close();
}else{
throw new Exception("已经有一个连接");
}
代码不对吧。 只能接收第一个socket.而不是接收一个socket。 接收到Socket给个标识示现在已有,用完了再把标识恢复。或者用同步来做,当前就只能有一个socket了。