首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >套接字:在某些情况下不能从BufferedReader读取和/或写入PrintWriter

套接字:在某些情况下不能从BufferedReader读取和/或写入PrintWriter
EN

Stack Overflow用户
提问于 2011-10-23 12:18:53
回答 1查看 402关注 0票数 0

大家下午好!

我正在尝试创建一个简单的消息传递应用程序,但我找不到一个大问题的解决方案。显然有两个大问题。

在这里,代码:

代码语言:javascript
运行
复制
@Override
public void run() {
    String incoming;
    try {
        while (true) {
            if (!connected)
                break;
            // READING
            if (reader.ready() && (incoming = reader.readLine()) != null) {
                notifier.putCommand(incoming, this);
                incoming = null;
            }

            // WRITING
            synchronized (messagges) {
                for (String message : messagges) {
                    System.out.println("SENDING MESSAGE TO CLIENT: " + message);
                    writer.println(message);
                }
                messagges.clear();
            }
            writer.println("b");
        }
    } catch (IOException e) {
        MyLogger.log(e);
    }
}

问题:

  1. 如果我不每次向客户端(writer.println("b"))写入垃圾文本,我就无法读取从BufferedReader上发送的任何消息。这怎么可能?!客户端的
  2. --我只看到了很多"b“,但是在(writer.println(message))语句中发送了任何东西。这真的很奇怪,因为当我在服务器上打印消息给客户端时:.我在控制台中看到它,但是消息没有发送。

有什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2011-10-23 12:21:42

您需要了解缓冲是如何工作的,特别是学习如何使用flush()方法指示缓冲编写器实际发送数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7866080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档