Java中的客户端服务器程序(无正确输出)[无错误]

问题描述 投票:0回答:1

我正在netbeans中执行客户端服务器程序,但没有得到正确的输出。如果你们中的任何一个都能找出代码中是否有任何错误,那将非常有帮助。

客户:

import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;

/**
*
* @author amirt
*/
public class client {
 public static void main(String args[]) throws IOException
 {
     String fname, s1;
     System.out.println("\n Enter the file name");
     Scanner read=new Scanner(System.in);
     fname=read.next();
     Socket s=new Socket("127.0.0.1",802);
     Scanner cinp=new Scanner(s.getInputStream());
     PrintStream cps=new PrintStream(s.getOutputStream());
     cps.println(fname);
     while(cinp.hasNextLine())
     {
         System.out.println(cinp.nextLine());
     }
 }

}

服务器

import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

/**
 *
 * @author amirt
 */
public class server {
    public static void main(String args[]) throws IOException
    {
        String fn;
        ServerSocket ss=new ServerSocket(802);
        Socket s11=ss.accept();
        Scanner sinp=new Scanner(s11.getInputStream());
        fn=sinp.next();
        Scanner sf=new Scanner(fn);
        PrintStream p1=new PrintStream(s11.getOutputStream());
        while(sf.hasNextLine())
        {
            p1.println(sf.nextLine());
        }

    }
}

输出:输入文件名

a1.txt

a1.txt

PS:a1.txt包含:abcdefgh

谢谢!

java sockets client-server serversocket java-io
1个回答
0
投票

在您的服务器代码中,而不是:

Scanner sf=new Scanner(fn);

您应该写:

Scanner sf=new Scanner(new File(fn));

Scanner现在将从文件的内容中读取,而不是从文件名称中读取。

© www.soinside.com 2019 - 2024. All rights reserved.