在不改变逻辑的情况下 你可以这么试试
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication1;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
/**
*
* @author pater
*/
public class NewClass {
public static void main(String[] args ){
try{
ServerSocket serversocket = new ServerSocket(8885);
System.out.println("正在等待链接...");
while(true){
Socket socket = serversocket.accept(); // 此处更改
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String s;
while((s=br.readLine())!=null){
System.out.println("客户端说"+s);
}
socket.shutdownInput();
OutputStream os = socket.getOutputStream();
PrintStream bw = new PrintStream(os);
Scanner input = new Scanner(System.in);
System.out.println("你想对对面的客户机说什么");
bw.print(input.next());
bw.flush();
socket.shutdownOutput();
bw.close();os.close();br.close();isr.close();is.close();
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication1;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.util.Scanner;
/**
*
* @author pater
*/
public class JavaApplication1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try{
Socket socket = new Socket("127.0.0.1",8885);
while(true){
if(socket.isInputShutdown()&&socket.isOutputShutdown()){ // 此处更改
socket = new Socket("127.0.0.1",8885);
}
OutputStream os = socket.getOutputStream();
PrintStream bw = new PrintStream(os);
Scanner input = new Scanner(System.in);
System.out.println("你想对对面的服务器说些什么");
bw.print(input.next());
bw.flush();
socket.shutdownOutput();
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String s;
while((s=br.readLine())!=null){
System.out.println("服务端说"+s);
}
socket.shutdownInput();
br.close();
isr.close();
is.close();
bw.close();
os.close();
}
}
catch(Exception e){
e.printStackTrace();
}
}
}