一直正常的程序没改动过.今天公司网络做了新的策略,结果出现了如下怪现象:
部分源代码如下:
  try{
       aftp =new FtpClient(hostIP);
       aftp.login("usr","pwd");
       aftp.binary();//这里执行完后就报connection reset了!
    }catch (IOException e1){
       e1.printStackTrace(); 
     return iRet=1;
    } 
    try{
    
        BufferedOutputStream outdt = new BufferedOutputStream(aftp.put(term+ d +".enc"));
        File outfile = new File(szMxFile+".enc");
        BufferedInputStream indt = new BufferedInputStream(new FileInputStream(outfile));
        final int CHUNK = 1024 * 1024;
        byte[] buffer = new byte[CHUNK];
        int read = 0;
       while ( (read = indt.read(buffer)) != -1) {
             outdt.write(buffer, 0, read);
       }
       indt.close();
       outdt.close();
       aftp.closeServer();
    }
    catch(IOException e){
     //iRet=3; //文件上传失败
     strMsg="[05]文件上传失败![L]";
      e.printStackTrace(); ;
     return iRet=1;
    }
java程序访问serverU(这些都没变动过,一直都正常),ftp.login(user,pwd)后,报错如下:
2007-12-24 12:12:00 java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at sun.net.TransferProtocolClient.readServerResponse(Unknown Source)
at sun.net.ftp.FtpClient.readReply(Unknown Source)
at sun.net.ftp.FtpClient.issueCommand(Unknown Source)
at sun.net.ftp.FtpClient.openDataConnection(Unknown Source)
at sun.net.ftp.FtpClient.put(Unknown Source)
at BankApi.JtTcp.jtCheck(JtTcp.java:474)
at CallJtTcpTest.main(CallJtTcpTest.java:287)
奇怪的是,我手工用ftp命令,在同样的机器(IP)上,用同样的用户名能正常登陆并上传和下载文件().而用以上程序,就直接报错!
请高手帮忙,现在压力颇大.请问是否我上面的程序兼容性有问题?如能提供其他方式实现FTP上传和下载功能的代码,在下感激不尽!!
谢谢!!!