无法从telnet连接读取数据

时间:2012-11-19 15:07:38

标签: java sockets telnet

我正在尝试使用java中的套接字创建一个简单的telnet客户端。这是我写的:

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服务器启动并运行 - 我已经从控制台检查 - 我可以连接到我的工作站,但是当我尝试使用套接字时,它会失败。

2 个答案:

答案 0 :(得分:1)

我认为你不应该在这里重新发明轮子。尝试使用Apache Commons Net telnet客户端。

答案 1 :(得分:0)

您确定,服务器发送了什么吗?它是否也发送换行符?您的计划通过调用readLine的{​​{1}}来预期。