java - 读取java中的响应结束readLine()

标签 java android ios sockets bufferedreader

    try {
                    input = new BufferedReader(new InputStreamReader(
                            mSocket.getInputStream()));
                    while (!Thread.currentThread().isInterrupted()) {
                        String messageStr = null;
                        messageStr = input.readLine();
                        if (messageStr != null) {
                            updateMessages(messageStr, false);
                        } else {
                            break;
                        }
                    }
                    input.close();
                } catch (IOException e) {
                    Log.e(CLIENT_TAG, "Server loop error: ", e);
                }

我在线程中使用以上代码从套接字连接接收响应。
在Android中,它可以正常工作,因为我使用out.println()发送数据,但是当设备连接到ios并开始接收数据时,它无法识别结尾,只有在关闭连接时才能接收到。除了readLine()以及在以上代码中如何使用以外,是否还有其他替代方法。

最佳答案

这样会更好。

try 
{
    input = new BufferedReader(new InputStreamReader(mSocket.getInputStream()));
    String messageStr = "";
    while (!Thread.currentThread().isInterrupted() && (messageStr = input.readLine()) != null) 
    {
        updateMessages(messageStr, false);
    }
    input.close();
} catch (Exception e) {
     Log.e(CLIENT_TAG, "Server loop error: ", e);
}

关于java - 读取java中的响应结束readLine(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38829215/

相关文章:

android - StreetView陀螺仪功能

ios - 如何从联系人中获取联系人图片 URL?

android - 从安卓市场查询应用价格

android - android.support.v4.app.FragmentManager Impl.make Inactive 处的 NullPointerexception

ios - 将字符串添加到 var pickerDataSource : [String] = [String]()

ios - 轻松/高效地检查/删除 SKScene 子画面?

java - 有什么方法可以有条件地忽略Spring的JUnit的测试吗?

java - 如何在 MongoDb 中使用 jackson 将日期字段存储为 ISODate()

java - Android:键盘未显示在焦点上

java - 将 Android 应用程序连接到 phpmyadmin - 无法连接错误