자바에서 소켓을 사용하여 간단한 텔넷 클라이언트를 만들려고합니다. 여기에 내가 쓴 것입니다 : 버퍼 판독기에서 읽으려고 할 때텔넷 연결에서 데이터를 읽을 수 없습니다.
public class NetUtil {
public static void main(String[] args) throws IOException {
Socket sock = new Socket("localhost", 23);
InputStream in = sock.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String output;
while((output=br.readLine())!=null){
System.out.println(output);
}
}
}
문제는 그 출력이 정지됩니다. sock.isConnected() - 연결되어 있는지 확인했습니다. 내 텔넷 서버가 작동 중입니다. 콘솔에서 확인했습니다. 워크 스테이션에 연결할 수 있지만 소켓을 사용하려고하면 실패합니다.
소켓에서 읽으려고하기 전에 텔넷 핸드 셰이크를해야한다고 생각합니다. Telnet은 초기 프로토콜처럼 사소한 프로토콜이 아닙니다. 편집 : 이전의 코멘트를 신경 쓰지 마시오 –
나는 그것을 얻지 못한다고 생각합니다 - 당신이 그것을 읽기 전에 소켓에 사용자 이름/암호를 쓰려고한다는 것을 의미합니까? – user1836132
클라이언트 터미널 (인코딩, 에코 상태 등)에 대한 서버 정보를 제공해야합니다. 독자적으로 구현하려는 경우 RFC를 공부하십시오 (http://en.wikipedia.org/wiki/Telnet) –