当前位置: 代码迷 >> J2SE >> 服务器连接顺利、只是服务器端不接收文件内容、一直等待Socket dataSocket = serverDataSocket.accept()
  详细解决方案

服务器连接顺利、只是服务器端不接收文件内容、一直等待Socket dataSocket = serverDataSocket.accept()

热度:453   发布时间:2016-04-24 17:08:42.0
服务器连接成功、只是服务器端不接收文件内容、一直等待Socket dataSocket = serverDataSocket.accept();
package   test;

import   java.io.*;
import   java.net.*;

public   class   HelloWordFTP   {
    private   static   final   int   CTRLPORT     =   21;  
    private   static   Socket   ctrlSocket;  
    private   static   PrintWriter   ctrlOutput;  
    private   static   BufferedReader   ctrlInput;
    private   static   byte[]   localHostAddress;  

    public   static   void   main(String[]   args)   {
        try   {
            String   host   =   "10.36.254.27 ";
            String   loginName   =   "eptftp ";
            String   password   =   "ept ";
            String   dirName   =   "/Inetpub/ftproot/userhome/Localuser/eptftp ";
            String   fileName   =   "C:\\temp\\Seikyusyo.txt ";

         
            ctrlSocket   =   new   Socket(host,   CTRLPORT);
            System.out.println( "dd ");
            localHostAddress   =   ctrlSocket.getLocalAddress().getAddress();
            ctrlOutput   =   new   PrintWriter(ctrlSocket.getOutputStream());
            ctrlInput   =   new  
                BufferedReader(new   InputStreamReader(ctrlSocket.getInputStream()));

            ctrlOutput.println( "USER   "   +   loginName);
            ctrlOutput.flush();
            ctrlOutput.println( "PASS   "   +   password);
            ctrlOutput.flush();

            ctrlOutput.println( "CWD   "   +   dirName);
            ctrlOutput.flush();
            ctrlOutput.println( "TYPE   I ");
            ctrlOutput.flush();
            System.out.println( "write   begin ");
 
            FileInputStream   fis   =   new   FileInputStream(fileName);
            Socket   dataSocket   =   dataConnection( "STOR   "   +   fileName);
            OutputStream   outstr   =   dataSocket.getOutputStream();
            int   n;
            byte[]   buff   =   new   byte[1024];
           

            while   ((n   =   fis.read(buff))   >   0)   {
                outstr.write(buff,0,n);
  相关解决方案