1
我對套接字有點新,我正在嘗試編寫一個程序,我基本上可以將一些簡單的請求從客戶端程序發送到服務器程序。現在我只想在客戶端有1或2個選項供用戶選擇。例如,如果用戶在客戶端選擇「選項1」,則服務器發回一條消息「您選擇選項1」等等,但我無法弄清楚如何讀取從客戶端發送的服務器上的輸入。套接字通信服務器/客戶端
客戶端代碼:
Socket socket = null;
try
{
System.out.println("Connecting to Server");
socket = new Socket("192.168.0.104", 7003);
socket.setSoTimeout(10000);
System.out.println("Connected");
InputStreamReader input = new InputStreamReader(socket.getInputStream());
BufferedReader buffer = new BufferedReader(input);
PrintWriter print = new PrintWriter(socket.getOutputStream(), true);
String line = buffer.readLine();
//Not Sure which buffer to user here
System.out.println("Option 1");
System.out.println("Option 2");
System.out.println("Option 3");
}
System.out.println("Closing Client Connection");
buffer.close();
input.close();
print.close();
socket.close();
System.exit(0);
服務器代碼:
ServerSocket serverSock = null;
Socket standSock = null;
try
{
serverSock = new ServerSocket(7003);
standSock = serverSock.accept();
InputStreamReader input = new InputStreamReader(standSock.getInputStream());
BufferedReader read = new BufferedReader(input);
PrintWriter print = new PrintWriter(standSock.getOutputStream(), true);
String dateTime = (Calendar.getInstance()).getTime().toString();
print.println("You're connected to the Server at: " + dateTime);
print.println("Type Q to disconnect");
String line = read.readLine();
//Not sure what to do here
System.out.println("Client: " + line);
print.println("Server" + line);
System.out.println("Closing Server Connection");
read.close();
input.close();
print.close();
standSock.close();
我需要在客戶爲例一個用戶輸入兩個不同的BufferedReaders和一個插座?真的很困惑這部分。
感謝
因此,在客戶端,我需要兩個緩衝區,一個讀取用戶的輸入,另一個讀取來自Socket的輸入。 – Nick
正確。在客戶端中,您還需要能夠寫入套接字和System.out。 –
我該怎麼做? – Nick