2012-03-05 58 views
-1

我试图通过socketchannel传输图像文件,但它不在服务器端读取。我该怎么办?如何通过NIO中的SocketChannel发送和接收对象

+1

为什么要将图像文件作为序列化的“对象”发送?难道你只是想要原始字节? – aroth 2012-03-05 05:44:49

+2

你的问题超出了范围,因为你没有提供任何人可以根据答案的细节。请阅读[常见问题]并[请]了解在SO上发布的指南。 – 2012-03-05 06:07:04

+1

欢迎使用堆栈溢出。请阅读[如何问](http://stackoverflow.com/questions/how-to-ask),[你有什么尝试?](http://mattgemmell.com/2008/12/08/what-have - 你试过/),和[如何问问题的智能方式](http://catb.org/esr/faqs/smart-questions.html)。 – 2012-03-05 08:43:17

回答

1

您可以将图像作为字节流传输。

InputStream input=new FileInputStream("image.png"); 
byte[] buffer=new byte[1024]; 
int readData; 
while((readData=input.read(buffer))!=-1){ 
socketOutput.write(buffer,0,readData); 
} 
0

根据您在这里得到的信息,您只能得出结论。

  • 该问题需要更好地了解哪里出了问题。
  • 您需要修复程序中的错误,例如,使用调试器。
  • 您的配置错误。检查你的发送者和接收者可以连接/对话,并且没有防火墙。
+0

thanx的建议。实际上我是使用NIO建立聊天应用程序,我想将文档从一个用户转移到另一个用户 – Vinay 2012-03-05 13:12:51

+0

因此,当您创建一个简单的测试时,一个线程正在发送,另一个正在接收发生的事情? – 2012-03-05 13:16:03