【发布时间】:2024-01-23 00:35:01
【问题描述】:
我正在尝试通过 java 套接字发送文件并通过另一个套接字接收它。但是,会发生这种情况:
发送内容:
/* 这只是一个要传输的文件 */
收到:
所以基本上我无法在堆栈溢出时逃避接收到的内容。它基本上是一堆不可读的字节(大约 32 个字节),然后是我发送的消息。
OutputStream os = sock.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(os);
oos.writeObject(mybytearray);
oos.flush();
oos.close();
对于客户来说:
BufferedReader in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
FileOutputStream fos = new FileOutputStream("newfile.java");
BufferedOutputStream bos = new BufferedOutputStream(fos);
bytesRead = is.read(mybytearray,0,mybytearray.length);
current = bytesRead;
bos.write(mybytearray, 0 , current);
bos.flush();
bos.close();
sock.close();
【问题讨论】:
-
这是来自发送方进程还是接收方进程的转储?
标签: java sockets header file-transfer