目的:通过Socket客户端发送多条数据给服务端
错误:
我是客户端0,服务器说:欢迎您!
java.net.SocketException: Socket is closed
at java.net.Socket.getOutputStream(Socket.java:912)
at com.imooc.MultiClient.main(MultiClient.java:23)
方法:
//1.创建客户端Socket,指定服务器地址和端口
Socket socket=new Socket("localhost", 8888);
//2.通过for循环发送多条数据
for(int i=0;i<6;i++){
//获取输出流,向服务器端发送信息
OutputStream os=socket.getOutputStream();//字节输出流
PrintWriter pw=new PrintWriter(os);//将输出流包装为打印流
pw.write("用户名:"+i+";密码:789");
pw.flush();
socket.shutdownOutput();//关闭输出流
//获取输入流,并读取服务器端的响应信息
InputStream is=socket.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String info=null;
while((info=br.readLine())!=null){
System.out.println("我是客户端"+i+",服务器说:"+info);
}
//关闭资源
br.close();
is.close();
pw.close();
os.close();
}
//3、关闭socket
socket.close();
123
你看一下5-1,也许就明白了