1

我正在尝试使用 java 中的 Sockets 制作一个简单的 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 服务器已启动并正在运行 - 我已从控制台检查过 - 我可以连接到我的工作站,但是当我尝试使用套接字时,它失败了。

4

2 回答 2

1

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

于 2012-11-19T15:42:10.927 回答
0

您确定服务器发送了一些东西吗?它是否也发送换行符?您的程序期望它调用readLine.BufferedReader

于 2012-11-19T15:27:06.480 回答