我按视频上的内容输入代码,可是客户端获取服务端发送的消息时,一直在打印,没有停下来
package com.imooc;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
/*
* 客户端
*/
public class Client {
public static void main(String[] args) {
try {
// 创建一个Scoket对象,指明要链接的服务器地址和端口。
Socket socket = new Socket("localhost", 8888);
// 获取输出流向服务器发送信息;
OutputStream os = socket.getOutputStream();// 获取字节输出流
PrintWriter pw = new PrintWriter(os);// 讲输出流包装成打印流
pw.write("客户端说:哼,小家伙我来了,看你往哪跑!以后你也可以把我换成输入的密码哦");
pw.flush();
socket.shutdownOutput();
// 3.获取输入流
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String c = br.readLine();
while (c != null) {// 循环读取服务器发送的信息
System.out.println("后面是从服务器发过来的消息" + c);
}
// 关闭资源
socket.shutdownInput();
br.close();
is.close();
// 关闭输出流
pw.close();
os.close();
socket.close();
} catch (UnknownHostException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}