问题标签 [objectinputstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
787 浏览

java - 在第一个 SocketTimeoutException 之后接收 EOFException

这是一个简单的 Java 中的 TCP 服务器(回显)和 TCP 客户端。

如果我评论以下行,则程序正在运行:

但是如果我使用这个套接字超时方法,那么我会首先得到一个 InterruptedIOException (它仍然很好)。但在下一次迭代中,我会得到一个 EOFException (这就是问题所在)。

我不明白,怎么了?请帮忙!

CSimpleServer.java

CSimpleClient.java

0 投票
2 回答
3399 浏览

java - Java ObjectInputStream 挂起

我现在感觉真的很愚蠢......基本上我在本地机器上通过 TCP 连接......当我尝试在客户端制作输入/输出流时,它不会通过创建对象输入流。是什么赋予了?这在打印 2 后停止......没有例外或任何东西......这不是我第一次使用这个类,这也是我感到困惑的部分原因。

0 投票
3 回答
1109 浏览

android - 保存没有序列化对象(如 Rect)的序列化类

当活动调用 onDestroy() 时,我试图保存我的序列化对象,但是当我尝试使用 ObjectOutputStream 编写对象时,会抛出 java.io.NotSerializableExeption。

你能帮我么。谢谢

0 投票
1 回答
4817 浏览

java - 通过套接字发送文件后获取“java.io.EOFException”

我正在尝试通过套接字实现基本通信,我现在拥有的是:

  • 服务器开始监听套接字,

    /li>
  • 客户端连接,服务器启动单独的线程与该客户端进行操作,

  • 开放对象输出和输入流,

    /li>
  • 客户端通过该流发送两个 i Doubles、String 和 Long(每个都刷新),

    /li>
  • 服务器通过先前打开的流成功接收这些对象,

    /li>
  • 现在是“困难的部分”,

  • 客户想要发送文件,因此打开不同的输出流(不是对象输出流)并发送文件,

    /li>
  • 服务器接收文件(也使用简单的输入流而不是 ObjectInputStream),

    /li>
  • 到目前为止一切正常,文件已收到,但现在服务器对该文件执行一些耗时的处理,然后将结果与结果一起发送给客户端,

    /li>
  • 客户端应该收到完成整个通信的结果,

    /li>

不幸的是,客户端的最后一步失败了,但有异常:

我希望客户端在发送文件后阻止等待服务器响应,但是在发送文件后它突然以异常结束。我很确定我在简单流和对象流之间切换时做错了。

有人知道我应该改变什么才能让它工作吗?

先感谢您!

0 投票
1 回答
904 浏览

java - Java:客户端服务器应用程序。-在 ObjectInputStream 读取线程上

这一定很容易,但我显然缺少一些基本的理解。我有简单的客户端服务器应用程序

服务器:

客户:

我的问题与双方的receiverThread有关。当我在从ObjectInputStream读取期间(在 RUN 方法中)使用 WHILE 时,服务器会侦听客户端请求并将它们正确分派到所有ObjectOutputStream。如果我将此WHILE更改为IF数据,则每个客户端仅从服务器读取(并发送)一次。这同样适用于客户端的 WHILE/IF。

我的理解是,当我运行receiverThread时,它以某种方式在 WHILE 停止线程并继续从输入流中读取,而使用 IF 让线程完成(从而停止读取过程)。尽管不满足 WHILE 条件,即最初(还没有客户端连接),但它使receiverThread保持活动状态,这怎么可能呢?在receiverThread 已经读取数据并且流中没有任何内容之后也会发生同样的情况。

希望能对这个基本问题做出一些解释。

问候马辛

0 投票
1 回答
3830 浏览

java - 创建客户端-服务器聊天程序

在使用对象流的服务器客户端聊天程序中,我如何能够向所有客户端发送消息并将私人消息发送给某些客户端?

在我的监听连接方法中,我接受连接

然后我将此客户端传递给服务器中的一个线程来处理消息交换;

IE;

我如何以及在哪里保留已连接客户端的列表?

我想到了一个hastable,键是用户名和ObjectOutPutStream。然后在连接被接受后读取正在发送的对象,但我遇到了问题。该消息是一个登录命令,给出了用户名和一个命令 LOGIN

我的代码变成了;

System.out.println("等待连接"); 套接字客户端 = servSocket.accept(); System.out.println("连接自:" + client.getInetAddress());

我评论了它,因为它给出了有关损坏流的错误,有什么想法吗?

谢谢

从客户端向服务器发送消息;

前任); } }

客户端代码连接到服务器;

0 投票
1 回答
6228 浏览

java - getInputStream 块?

使用输入/输出流在我的客户端和服务器之间传递对象。我可以使用我的服务器发送和接收对象,现在我希望客户端也可以发送相同的内容。所以我给了我的客户一个 ObjectInputStream。但是,当我初始化它时,它会阻塞!一直在寻找并找到答案,但没有解决方案。

请帮忙!

我尝试在不同的线程中使用它们,但它有同样的问题,至少对我来说:(

0 投票
2 回答
3073 浏览

java - 无法通过 Java 中的 ObjectInputStream 发送对象

我正在编写一个使用对象输出和输入流的应用程序。但是我有一个问题,因为我无法正确发送我的对象。我把它写到流中,服务器给了我一个未找到的类异常,即使客户端和服务器都有完全相同的这个类的副本(唯一的区别是包名)和相同的序列号。这是我的课:

那是我要发送的对象的类。这是客户端代码:

(它只是为了测试而编写的)

这是服务器代码的一部分(是的,它是多线程的):

我现在很困惑。因为我不知道为什么会发生这样的事情。

我认为最重要的是,当我用字符串替换 Message 时,以下代码表现良好。

0 投票
1 回答
112 浏览

java - 对象输出和输入问题,只打印输入的第一行

我正在为班级制作聊天服务器,并且在为离线用户记录消息时遇到问题。数据作为对象附加到日志文件中,随着您记录的更多,它的大小会增加。当我以收到消息的用户身份登录时,它只返回发送的第一条消息。我花了很多时间来解决这个问题,无法弄清楚我错过了什么。

输入:

输出:

0 投票
4 回答
922 浏览

java - 如何使用 ObjectInputStream 将现有的 Singleton 对象替换为保存的文件中的对象?

我正在制作一个具有基本保存/打开功能的 Java 应用程序。我需要保存的只是我的类ModeleImage的实例,它是一个 Singleton。我的储蓄显然有效,看起来像这样:

现在我正在尝试使用 ObjectInputStream 打开该文件。我不确定是否有办法简单地将我的 Singleton (ModeleImage) 替换为保存的,但现在我只是尝试复制和替换每个属性。我的开场白是这样的:

我也把 try/catch 放在每一个周围。问题是我的开头部分在尝试替换属性时捕获了 IOException。

我究竟做错了什么?是因为它是单例还是我误解了 ObjectInputStream 和 readObject() 的工作原理?