2014-11-11 2 views
0

Я действительно не могу понять, почему это не работает ... Кажется, что я работаю везде, где я его видел.Socket clientSocket = serverSocket.accept(); не может быть разрешено

try { 
    ServerSocket serverSocket = new ServerSocket(6644); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
while(true){ 
    Socket clientSocket = serverSocket.accept(); 

} 

Eclipse, продолжает говорить мне «не может быть решена», когда я наведите мышь над ServerSocket на clientSocket = serverSocket.accept(); линии. Очевидно, переменная существует, и нет опечатки, так что в чем дело?

Я уже импортировал java.io.* и java.net.*, поэтому я уверен, что у меня есть все, что мне нужно.

ответ

1

Ваша переменная serverSocket видна только внутри блока try. Переместите декларацию снаружи, возможно, так:

ServerSocket serverSocket = null; 
try { 
    serverSocket = new ServerSocket(6644); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
while(true){ 
    Socket clientSocket = serverSocket.accept(); 

} 
Смежные вопросы