- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试了很长时间来解决这个问题,最后决定寻求专家的帮助。我已经使用套接字编程开发了服务器客户端应用程序,并且我的客户端能够成功连接到服务器。现在我尝试根据客户端的请求通过服务器的套接字发送对象,我的服务器能够捕获该请求,但是服务器发送的响应(writeObject(...))无法到达客户端.
服务器代码片段:
ServerSocket sSocket = new ServerSocket(socketNumber);
ArrayList<LoginPassword> logIn = new ArrayList<>();
Socket cSocket = sSocket.accept();
ObjectOutputStream outputStream = new ObjectOutputStream(cSocket.getOutputStream());
outputStream.flush();
ObjectInputStream inputStream = new ObjectInputStream(cSocket.getInputStream());
LoginPassword lp1 = new LoginPassword("admin","admin");
logIn.add(lp1);
outputStream.writeObject(logIn);
outputStream.flush();
客户代码片段:
Socket client = new Socket(InetAddress.getLocalHost(),socketNumber);
ArrayList<LoginPassword> myList = new ArrayList<>();
ObjectOutputStream outputStream = new ObjectOutputStream(client.getOutputStream());
outputStream.flush();
ObjectInputStream inputStream = new ObjectInputStream(client.getInputStream());
//Wait untill the data is available
myList = (ArrayList<LoginPassword>) inputStream.readObject();
就我而言,客户端 readObject() 永远不会被调用,因为它无法检测服务器发送的数据。请提供任何帮助。
最佳答案
您必须首先创建ObjectOutputStream
,最好在两端都创建。否则,您将在创建ObjectInputStream
时陷入僵局。
或者,我很想知道以下评论的含义是什么:
// Wait untill the data is available
如果这表明缺少一段调用available()
的代码,只需删除它即可。 readObject()
将根据需要阻塞。 available()
的正确用法很少,这不是其中之一。
关于java - 客户端未接收服务器通过 Java 中的 ObjectStream 发送的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36267355/
我正在尝试使用从 Socket 获取的 ObjectInputStream 和 ObjectOutputStream 在客户端和服务器之间发送数据包。然而,我在尝试将对象发送到流中时得到了一些奇怪的结
我一直在开发一个聊天客户端/服务器以熟悉 java,但我遇到了一个我不明白的逻辑错误。 我正在通过 ObjectOutputStream(Message 对象,参见 ref)发送一个对象,它包含字段和
下面的代码将我的对象和 byte[] 写入文件,其中 sigBytes 是我的 byte[] ObjectOutputStream outputOS = new ObjectOutputStream(
这就是我的问题。 我有一个客户端和一个服务器java程序。每一方都与另一方建立并管理一个 ObjectInputStream/ObjectOutputStream。 我希望能够发送对象(假设发送的所有
这个问题已经有答案了: StreamCorruptedException: invalid type code: AC (1 个回答) 已关闭 9 年前。 我正在构建一个 4 人网络扑克游戏。我首先创
我有这段代码: package com.company; import java.io.IOException; import java.io.ObjectInputStream; import ja
所以我在从对象流存储或加载 HashMap 时遇到问题。文件已保存,我可以看到它存储了某种信息。问题是当我尝试读取 HashMap 时,它给了我一个 EOF 错误。预先感谢您的帮助。 public s
我尝试了很长时间来解决这个问题,最后决定寻求专家的帮助。我已经使用套接字编程开发了服务器客户端应用程序,并且我的客户端能够成功连接到服务器。现在我尝试根据客户端的请求通过服务器的套接字发送对象,我的服
我正在尝试将 Key 类型的公钥对象发送到我的服务器。但我没有让这个运行。协议(protocol)如下所示: [命令]\n[序列化 key 对象] 客户端使用此代码: Socket admin; Pr
这个问题在这里已经有了答案: Appending to an ObjectOutputStream (6 个答案) 关闭 8 年前。 至于现在,当我尝试 append 一个对象时,我将得到 java
我有一个ObjectInputStream,它有一个java.sql.Timestamp对象。我想读取发送的实际值,不受时区的影响。 (客户端与服务器位于不同的时区)。 我该怎么做? // ois i
希望你一切顺利。从昨天开始,奇怪的事情发生在我身上。 我有以下用于保存 JSON 的代码。 public static boolean saveCacheJson(String pathToCach
我是一名优秀的程序员,十分优秀!