PC文件传输在服务器端接收空字节

时间:2017-11-05 13:55:36

标签: java arrays sockets client-server

我有一个服务器代码和客户端,它以byte []数组的形式将文件从客户端传输到服务器。但是当从客户端发送时间时,它很顺利,并且在发送代码[客户端代码]时没有错误。但对于服务器端的接收部分,它会崩溃整个命令提示符并停止运行。但文件到达以及它发送。但我需要继续服务器程序在收到文件后作出响应。请帮助我......我被困在这里......

这是我的服务器代码

                for(i=0;i<str.length();i++) 
                { 

                    if(str.charAt(i)=='.' || flag==1) 
                    { 
                    flag=1; 
                    extn+=str.charAt(i); 
                    } 
                }                      
                    File file = new File("RecievedImage"+str); 
                    FileOutputStream fout = new FileOutputStream(file); 

                    //receive and save image from client 
                    byte[] readData = new byte[1024]; 
                    while((i = dis.read(readData)) != -1) 
                    {
                        fout.write(readData, 0, i); 
                        if(flag==1) 
                        { 
                        System.out.println("Image Has Been Received"); 
                        flag=0; 
                        } 
                    } 
                fout.flush(); 
                fout.close();

这是我的客户代码

File file = new File(fileName); 
                    FileInputStream fin = new FileInputStream(file);    
                    dout.writeUTF(fileName); 
                    System.out.println("Sending image..."); 
                    byte[] readData = new byte[1024]; 

                    while((i = fin.read(readData)) != -1) 
                            { 
                            dout.write(readData, 0, i); 
                            } 
                            System.out.println("Image sent"); 
                            ta.appendText("\nImage Has Been Sent"); 
                            fin.close(); 
                    }catch(IOException ex)
                      {System.out.println("Image ::"+ex);} 

0 个答案:

没有答案