gpt4 book ai didi

java - ObjectOutputStream 不发送数据

转载 作者:行者123 更新时间:2023-12-01 19:08:46 25 4
gpt4 key购买 nike

客户端代码:

try {
Socket socket = new Socket(ip, port);
OutputStream output = socket.getOutputStream();
ObjectOutputStream out = new ObjectOutputStream(output);
InputStream input = socket.getInputStream();
ObjectInputStream in = new ObjectInputStream(input);
out.writeByte(1);
FileHandler fh = (FileHandler) in.readObject();
//processing stuff
out.flush();
out.close();
output.flush();
output.close();
input.close();
in.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
}

服务器代码:

        try {
ServerSocket server = new ServerSocket(port);
Socket socket = server.accept();
InputStream input = socket.getInputStream();
ObjectInputStream in = new ObjectInputStream(input);
int type = in.readByte();
//processing stuff (which includes closing the streams and sending FileHandler object)
socket.close();
} catch (Exception e) {
e.printStackTrace();
}

服务器永远不会收到该字节。它只是等待来自客户端的字节,但它永远不会到来。我不确定为什么它没有发送或没有收到。非常感谢任何帮助。

最佳答案

如果我不得不猜测,那是因为在你的客户端中,你阻塞了 in.readObject(); 等待服务器向你发送一些东西,因此永远不会刷新输出流,因此......什么都没有永远不会被发送。

将读取内容移至刷新输出流之后

关于java - ObjectOutputStream 不发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9091503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com