这是一个服务器与客户机进行信息交换的程序有一个Socket server连接到服务器,有一个输出流,一个输入流,一个是bout=new BufferedOutputStream(server.getOutputStream()),一个是object_in=new ObjectInputStream(server.getInputStream).还有一个文件流filein从本地读一个文件,通过bout写到网络中去,并传到服务器,然后服务器发回一个确认信息.
问题是服务器并不知道bout什么时候写完,这该怎么解决???flush不行,只有bout.close(),但这样又会把网络连接一起关闭,这样就不能接受到回来的信息了,我该怎么办???
问题是服务器并不知道bout什么时候写完,这该怎么解决???flush不行,只有bout.close(),但这样又会把网络连接一起关闭,这样就不能接受到回来的信息了,我该怎么办???
多线程技术来处理多连接
这个问题没必要担心当数据发送完毕后,关闭连接,释放资源都是由jvm来完成
发送文件的时候,先把文件大小发送过去,服务端收完这么多字节,就返回。
同意,http协议就是这么搞的
因为关闭输出流以后与服务器的连接也就断了,所以不能用close,只有用文件大小来判断了