缺点不能连续发和连续接受,只能先客户端发,再服务器发,再客户端发这样循环,而不能客户端发,客户端再发,这样程序会出现阻塞
客户端
public class Client03 {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
try {
Socket socket = new Socket("127.0.0.1", 8003);
while (true) {
TimeUnit.SECONDS.sleep(1);
OutputStream outputStream = socket.getOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(outputStream);
dataOutputStream.flush();
dataOutputStream.writeUTF("客户端说:"+sc.next());
DataInputStream dataInputStream = new DataInputStream(socket.getInputStream());
String s = dataInputStream.readUTF();
System.out.println(s);
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
服务器
public class Server03 {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(8003);
Socket socket = serverSocket.accept();
while(true) {
TimeUnit.SECONDS.sleep(1);
InputStream inputStream = socket.getInputStream();
DataInputStream dataInputStream = new DataInputStream(inputStream);
String s = dataInputStream.readUTF();
System.out.println(s);
DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream());
dataOutputStream.writeUTF("服务端说:"+sc.next());
dataOutputStream.flush();
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
}
}
}