MINA框架中文件传输

来源:百度知道 编辑:UC知道 时间:2024/05/31 05:11:08
我在客户端读取一个文件放在byte数组中,然后发送给服务器端,服务器在接受数据时接受到的是一个object对象,我将object对象转换成了byte数组,可是通过outputstream对象进行写入后用鼠标双击文件文件打不开,说是该文件已破损

session.write()函数,写入的是一个object对象,不能传输byte数组,所以你的传输过去的byte数组就不正确了 。。你应该用了mina提供的过滤器,所以客户端和服务器端才可以通讯,如果你不用过滤器,你用session.write()函数将byte数组发送给服务器,服务器是接受不到消息的,也就是在serverHandler类中不会触发messageReceive函数。。mian是一个事件驱动模型的框架 。 。如果不用过滤器的话只能传输bytebuffer对象。想解决文件传输,你可以在客户端用输入流InputStream对象读取文件放入byte数组中,然后将byte数组转化成bytebuffer对象,注意这个bytebuffer对象应该是apache提供的 。然后在服务器端用bytebuffer对象接受后再转换成byte数组,这样文件就可以传输了 。 我也是刚刚研究mina。这个方法只是下下策。我想mina框架中有一个fillter可以传输文件的 。 你好好看看mina api吧。对了我研究的是mina1.7版本的。。。希望我的回答对你有所帮助。