在JAVA的socket中进行传输对象和文件
在客户端中同时传对象【已序列化过的】和文件过去,那在服务器端应该如何接收。知道DataInputStream是接收文件的,ObjectInputStream是接收对象的,...
在客户端中同时传对象【已序列化过的】和文件过去,那在服务器端应该如何接收。知道DataInputStream是接收文件的,ObjectInputStream是接收对象的,但同时接收的话,应该要怎么判断哪个是对象哪个是文件呢?最好是有代码说明一下啦=w=
展开
3个回答
展开全部
服务端监听:ServerSocket server=new ServerSocket(port);//port:绑定的端口号
Socket client=server.accept();//监听端口,一旦取得连接则获得客户端的socket连接对象client
客户端: Socket s=new Socket(ip,port);//要连接的服务器的ip以及端口号
如果正常连接上之后,socket的对象可以获得InputStream和OutputStreame,然后就可以进行通信了
完成通信之后,执行socket对象的close()方法关闭连接,完成一次完整的socket连接
Socket client=server.accept();//监听端口,一旦取得连接则获得客户端的socket连接对象client
客户端: Socket s=new Socket(ip,port);//要连接的服务器的ip以及端口号
如果正常连接上之后,socket的对象可以获得InputStream和OutputStreame,然后就可以进行通信了
完成通信之后,执行socket对象的close()方法关闭连接,完成一次完整的socket连接
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议采用Tcpmessage,在报文体里写你要传的东西,设置不同的报文头,通过独到的报文头判断你传的是对象是文件
追问
那是将报文头和文件再次封装打包成Object,然后解析的时候先用ObjectInputStream对报文头进行解析,如果发现是文件的话就再用DataInputStream进行解析?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是您的工作。您需要定义自己的协议,所谓应用层。
强烈建议参考github vert.x
强烈建议参考github vert.x
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询