问题标签 [objectoutputstream]
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.
java - 重置 ObjectOutPutStream 以更新新的对象状态?
我想重置 ObjectOutPutStream 以更新新的对象状态。但是为什么没有效果。下面的代码输出“之前”而不是“之后”?我的代码有什么问题?
java - 具有多个客户端的 Java SocketServer - StreamCorruptException
应用程序
我正在用 Java 编写一个客户端/服务器应用程序,它通过使用 ObjectStream 类通过套接字发送对象来进行通信。应用程序中的每个节点大致如下所示:
这里server
变量是本节点监听client
的套接字,变量是其他节点监听的套接字,以及本节点发送对象的套接字。
我用来将对象写入其中一个客户端套接字的代码如下所示:
我用来处理连接和从节点的服务器套接字读取对象的代码如下所示:
问题
我想我在这里的插座做错了什么。当每台服务器只连接到一个客户端时,一切正常。但是,当多个客户端与同一个服务器通信时,事情变得很糟糕,我从 ObjectInputStream 和其他奇怪的行为中得到了 StreamCorruptedException(放入一个 UpdateRequest 消息的实例,并取出一个 Integer(0) 的实例和一些异常,例如。)
我的直觉告诉我,这两个对象/字节流以某种方式混合在一起,这在尝试反序列化对象时会产生奇怪的结果。我的问题是:为什么会发生这种情况,也就是我做错了什么,我该如何解决?
java - 在 ObjectOutputStream 之后无法投射 POJO
我有一个程序将 POJO 从服务器发送到客户端。对于原始数据类型,String[]
或者Boolean
它工作正常。当我只使用 getter 和 setter 创建自定义数据类型时,将其从服务器发送到客户端并尝试将其从 Java 对象转换为我的数据类型,我得到异常:
在客户端和服务器的两个实例上,我都可以很好地投射。似乎当我将其推过时,ObjectOutputStream
会发生一些奇怪的事情。我也序列化了对象。ObjectOutputStreams 这里有什么陷阱吗?
java - 如何使用套接字和 objectoutputstream 发送字符串数组
我有这个发送字符串或整数,但如果我想发送一个字符串数组,我应该使用什么?
提前致谢
java - 从随机访问文件中读取对象
我使用 Java 的 FileChannel 类编写了一个文件,该类使用 RandomAccessFiles。我在文件的不同位置写了对象。这些对象大小不一,但都属于同一类。我使用以下想法编写了对象:
现在我想从这样的文件中读取。我不想指定要读取的字节数。我希望能够使用对象输入流直接读取对象。如何做到这一点?
我必须使用随机访问文件,因为我需要写入文件中的不同位置。我还在一个单独的数据结构中记录了写入对象的位置。
java - 通过套接字发送可序列化对象时出现NotSerializableException?
我试图通过套接字连接发送一个定制的对象。该类实现了可序列化,但是NotSerializableException
当我尝试将对象写入套接字时构造函数仍然抛出一个。我将在下面发布相关代码:
这是我的定制课。现在我试图从服务器向客户端发送一个数组列表,但我会在稍后阶段添加其他信息。发送方法贴在下面我的服务器类贴在下面:
这是我从服务器发送的方法。clientCollection
是我试图发送的arrayList。
整个客户端类:
}
新的堆栈跟踪:
android - 保存没有序列化对象(如 Rect)的序列化类
当活动调用 onDestroy() 时,我试图保存我的序列化对象,但是当我尝试使用 ObjectOutputStream 编写对象时,会抛出 java.io.NotSerializableExeption。
你能帮我么。谢谢
java - 通过套接字发送文件后获取“java.io.EOFException”
我正在尝试通过套接字实现基本通信,我现在拥有的是:
服务器开始监听套接字,
/li>客户端连接,服务器启动单独的线程与该客户端进行操作,
开放对象输出和输入流,
/li>客户端通过该流发送两个 i Doubles、String 和 Long(每个都刷新),
/li>服务器通过先前打开的流成功接收这些对象,
/li>现在是“困难的部分”,
客户想要发送文件,因此打开不同的输出流(不是对象输出流)并发送文件,
/li>服务器接收文件(也使用简单的输入流而不是 ObjectInputStream),
/li>到目前为止一切正常,文件已收到,但现在服务器对该文件执行一些耗时的处理,然后将结果与结果一起发送给客户端,
/li>客户端应该收到完成整个通信的结果,
/li>
不幸的是,客户端的最后一步失败了,但有异常:
我希望客户端在发送文件后阻止等待服务器响应,但是在发送文件后它突然以异常结束。我很确定我在简单流和对象流之间切换时做错了。
有人知道我应该改变什么才能让它工作吗?
先感谢您!
java - 无法通过 Java 中的 ObjectInputStream 发送对象
我正在编写一个使用对象输出和输入流的应用程序。但是我有一个问题,因为我无法正确发送我的对象。我把它写到流中,服务器给了我一个未找到的类异常,即使客户端和服务器都有完全相同的这个类的副本(唯一的区别是包名)和相同的序列号。这是我的课:
那是我要发送的对象的类。这是客户端代码:
(它只是为了测试而编写的)
这是服务器代码的一部分(是的,它是多线程的):
我现在很困惑。因为我不知道为什么会发生这样的事情。
我认为最重要的是,当我用字符串替换 Message 时,以下代码表现良好。