幕布斯7119047
2021-09-15 16:14:51
我正在 Java 中實(shí)現(xiàn)套接字編程,其中我使用 BufferedReader 從客戶端獲取輸入。但是,BufferedReader 對(duì)象采用在控制臺(tái)上輸入的換行符。這是我的服務(wù)器端代碼:import java.net.*;import java.io.*;class FTPserver {private ServerSocket serverSocket = null;private DataInputStream dis = null;private DataOutputStream dos = null;FTPserver() { try { String input; serverSocket = new ServerSocket(3000); Socket socket = null; socket = serverSocket.accept(); dis = new DataInputStream(socket.getInputStream()); dos = new DataOutputStream(socket.getOutputStream()); input = dis.readUTF(); if(input.equals("ftp")) { dos.writeUTF("ftp> "); input = dis.readUTF(); System.out.print("opened connection to 10.10.10.212"); dos.writeUTF("Connected to 10.10.10.212\n220 (vsFTPd 3.0.2)\nName (10.10.10.212:root): "); input = dis.readUTF(); dos.writeUTF("331 Please specify the password.\nPassword: "); input = dis.readUTF(); dos.writeUTF("230 Login successful.\nRemote system type is UNIX\nUse binary mode to transfer files\nftp> "); input = dis.readUTF(); //receive mget dos.writeUTF("ftp> "); input = dis.readUTF(); //receive mput dos.writeUTF("ftp> "); //input = dis.readUTF(); input = dis.readUTF(); //receive exit dos.writeUTF("Goodbye"); input = dis.readUTF(); //receive exit dos.writeUTF("Goodbye"); } dis.close(); dos.close(); socket.close(); } catch(Exception e) { e.printStackTrace(); }}public static void main(String[] args) { FTPserver ftp = new FTPserver();}}這是我的客戶端代碼:import java.net.*;import java.io.*;import java.util.Scanner;class FTPclient {private DataInputStream dis = null;private DataOutputStream dos = null;private Socket socket = null;
1 回答

達(dá)令說
TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
我假設(shè)“跳過”是指“退出”一詞打印在下一行,而不是像前幾行那樣直接打印在“ftp>”之后。如果是這樣,我認(rèn)為發(fā)生這種情況的原因是因?yàn)槟诳蛻舳说倪@些行中使用 System.out.println 而不是像前幾行那樣使用 System.out.print。我認(rèn)為您的輸入正確終止,因?yàn)槟某绦蛩坪跽_結(jié)束并且不會(huì)繼續(xù)等待進(jìn)一步的輸入。
dos.writeUTF(sc.readLine()); //send exit
System.out.println(dis.readUTF());
dos.writeUTF(sc.readLine()); //send exit
System.out.println(dis.readUTF());
添加回答
舉報(bào)
0/150
提交
取消