我不明白为什么我的地址未被授权。 我有一个客户端,当它连接到服务器时,它传输包括ip和端口在内的数据。服务器又必须在特定时间向客户端发送信号(客户端会响应它们),但是当我尝试遍历所有客户端时,会引发异常。 代码:
public void run() {
ResultSet res;
while (true) {
try {
Thread.sleep(5000);
res = DatabaseHandler.getAddresses();
while (res.next()) {
for (int i = 1; i <= res.getMetaData().getColumnCount() - 1; i++) {
System.out.println(res.getString(i) + Integer.parseInt(res.getString(i+1)));
try (SocketChannel sc = SocketChannel.open
(new InetSocketAddress(res.getString(i),Integer.parseInt(res.getString(i+1))))) {
ByteBuffer buffer = ByteBuffer.allocate(4);
buffer.clear();
buffer.putInt(MessageTyps.SIGNAL_REQUEST);
buffer.flip();
while(buffer.hasRemaining()) {
sc.write(buffer);
}
DatabaseHandler.incrementCount(res.getString(i),Integer.parseInt(res.getString(i+1)));
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
} catch (SQLException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}