【发布时间】:2010-11-22 03:38:08
【问题描述】:
我。简介
我正在打开并从文件中读取,在读取时通过 TCP 套接字发送数据块。
发件人代码
byte[] buffer = new byte[16384];
while ((in.read(buffer)) > 0)
{
SendProtocol(new FileTransfer(sender, receiver, buffer);
}
接收者代码
if(o instanceOf FileTransfer)
FileTransfer tf = (FileTransfer) o;
out.write(tf.getData);
}
二。问题
通过 TCP 套接字发送协议后,我查看了正在发送的字节。它们都是独一无二的。但是在接收方,接收到的字节只是一遍又一遍的相同字节[]。
三。示例
SENDER BYTES
[3, 3, 5, -44, 4, 3]
[99, -3, 5, -44, 7, 3]
[-11, 3, 5, -44, 4, 7]
[10, 6, 5, -44, 4, 66]
RECEIVER BYTES
[3, 3, 5, -44, 4, 3]
[3, 3, 5, -44, 4, 3]
[3, 3, 5, -44, 4, 3]
[3, 3, 5, -44, 4, 3]
【问题讨论】:
-
您的
SendProtocol和FileTransfer课程是什么?它们不是标准的 java 库。 -
SendProtocol 是我的客户端网络类中的一个函数,它代表套接字等的所有 TCP 连接。循环监听具有输入和输出流的协议。我的 FileTransfer 类不是标准的 java 库,它是一个可序列化的类对象,包含发送者、接收者和字节。 (有没有更好的方法来做这个 O_O)?
标签: java networking tcp file-transfer