1
클라이언트를 여러 서버에 연결하고 그 중 하나에서 첫 번째 응답을 수신하려고합니다. 그래서 select를 사용하기로 결정했습니다. 나는 각 서버마다 하나의 소켓을 만들었고 소켓에 셀렉터를 등록했다. 그러나 그것은 효과가 없었습니다. 내 코드에 문제가있는 곳은 다음과 같습니다.JAVA : 클라이언트 측에서 select 사용
Selector selector = Selector.open();//
int i;
for(i=0;i<serveurs.size();i++)//I have an arraylist of servers
{
Socket s=new Socket(serveurs.get(i).getIP(),port);//creating a socket with the server number i
sc=s.getChannel();//here's the problem: sc is null
sc.configureBlocking(false);//exception here because sc=null
sc.register(selector, SelectionKey.OP_READ);//register the socket channel to recieve data form the server
}
selector.select();
// reading data in the socket registered in the selector
그래서이 문제를 해결하려면 어떻게해야합니까?