socket的问题
刚学socket,代码如下:
Socket socket=new Socket("localhost",7890);
OutputStream os=socket.getOutputStream();
//向服务器断写数据
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(os));
bw.write("写入到服务器端");
bw.flush();
socket.shutdownOutput();
//接受服务器端数据
InputStream is=socket.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String s="";
while((s=br.readLine())!=null)
System.out.println("我是客户端,服务器端信息为:"+s);
socket.shutdownInput();
//向服务器端写入对象
ObjectOutputStream oos=new ObjectOutputStream(socket.getOutputStream());
User user=new User();
User u2=user.login();
oos.writeObject(u2);
bw.close();
br.close();
is.close();
oos.close();
socket.close();
但是运行后ObjectOutputStream oos=new ObjectOutputStream(socket.getOutputStream());这一句出现了异常,异常信息为java.net.SocketException: Socket output is shutdown
at java.net.Socket.getOutputStream(Socket.java:832)
意思是不是调用 socket.shutdownOutput();后再调用socket.getOutputStream()是不能再打开输出流的?
如果是这样,那怎么弄才能再次打开呢?