java - 解析套接字输入字符串

标签 java android

我希望从我的 telnet 套接字输入中解析“艺术家 - 标题”。现在它只显示最后一行“END”。我做错了什么?我是初学者,需要 java.pls 帮助...

我的 Activity 脚本可以工作:

try {
        Socket s = new Socket("10.0.2.2", 5555);


        BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
        BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream(), "ISO8859_1"));



        String on_air = "request.on_air" + System.getProperty("line.separator");
        out.write(on_air);
        out.flush();
        Log.i("TcpClient", "sent: " + on_air);
        String on_airin = in.readLine() + System.getProperty("line.separator");
        Log.i("TcpClient", "received: " + on_airin);
        String metadata = "ao.metadata "+ on_airin + System.getProperty("line.separator"); 
        out.write(metadata);
        out.flush();
        Log.i("TcpClient", "sent2: " + metadata);
        String metadatain = in.readLine() + System.getProperty("line.separator");
        Log.i("TcpClient", "received: " + metadatain);

        String line = in.readLine();
        while (line != null) {

            line = in.readLine();


            System.out.println(line);
            output = (TextView) findViewById(R.id.textView2);
            output.setText(line);





//tv.setText(online + formatedDate );
        output = (TextView) findViewById(R.id.textView1);



s.close();

    }} catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}

我的系统.out.println http://pastebin.com/SkfiPXar

最佳答案

在打印之前执行额外的readLine()。折叠这三行:

String line = in.readLine();
while (line != null) {
    line = in.readLine();

进入

String line = null;
while ((line = in.readLine()) != null) {  

此外,您似乎在 while 循环内关闭了 Socket,这可能会导致问题。

关于java - 解析套接字输入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13140956/

相关文章:

java - Webdriver 尝试单击按钮但收到 'server did not provide a static trace' ?

java - 程序类型已存在 : android. support.v4.R

android - 将数据从 Web 服务加载到 ListView 的最佳方法

java - 如何在 Android 设备中从 Firestore 获取服务器时间戳?

java - 如何将 ArrayList 中的对象添加到另一个类中的另一个 ArrayList

java - 将自己的应用程序添加到 Whatsapp 音频选择中

java - 在单独的开发环境中管理 JAR 依赖项

java - 如何在计时器内绘制 2D 对象

java - 可以将一半的文本以不同的颜色绘制到 Canvas 上吗?

android - Oauth 2.0 刷新 token 过期