Java 为什么我的RMI套接字只发送一个字节?
我在一个项目中工作。我想加密RMI客户端和服务器之间的信息。我在学习一些教程,比如。它们使用XOR方法进行加密 事情进展顺利。我的意思是,信息的加密和解密没有问题,但当我用Wireshark捕获数据包时,所有数据包的大小都是1字节 我分析了XorInputStream和XorOutputStream类,改变了读写方法,但什么都没有。只有一个字节的数据包 我认为这可能是Socket或ServerSocket类的问题,与Socket缓冲区大小有关 我想解决这个问题,因为应用程序使用100条通信消息只发送几个字 我试图修改stream类中的write方法以寻找缓冲进程,以突发方式发送4个字节:Java 为什么我的RMI套接字只发送一个字节?,java,sockets,encryption,Java,Sockets,Encryption,我在一个项目中工作。我想加密RMI客户端和服务器之间的信息。我在学习一些教程,比如。它们使用XOR方法进行加密 事情进展顺利。我的意思是,信息的加密和解密没有问题,但当我用Wireshark捕获数据包时,所有数据包的大小都是1字节 我分析了XorInputStream和XorOutputStream类,改变了读写方法,但什么都没有。只有一个字节的数据包 我认为这可能是Socket或ServerSocket类的问题,与Socket缓冲区大小有关 我想解决这个问题,因为应用程序使用100条通信消息只
byte buf[] = new byte[4];
int i=0;
public void write(int b) throws IOException {
if(i<=3){
buf[i]=(byte)((b ^ pattern) & 0xFF);
i++;
}
else{
for(int j=0;j<4;j++)
out.write(buf[j]);
i=0;
buf[i]=(byte)((b ^ pattern) & 0xFF);
i++;
}
}
字节buf[]=新字节[4];
int i=0;
公共无效写入(int b)引发IOException{
如果(我谢谢你!解决了。必须扩展BufferedOutputStream,而不是在custom out/inputstream类中进行筛选上次发布时,您被告知代码必须发布在此处。没有任何更改。当然,在某些第三方网站上发布.RAR文件将进一步减少您的目标受众,在这种情况下,显然是零。但为什么你正在缓冲个人写作,这是一个谜。你需要的是一个<代码> BuffReDeOutToSuffs在你和呼叫者之间。如果问题得到解决,请考虑将你的解决方案标记为被接受的答案。否则它将留在未回答的问题列表中。谢谢!