import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;
/**
* 一对一阻塞
* @author chenmin
* 题目:实现客户端与服务端你一言我一语的对话,当输入“exit”时,分别退出;
*
*/
public class TestClient {
public TestClient() {
try {
//创建一个Socket对象,客户端要连接的服务器的IP地址;客户端要连接的服务器的端口号
Socket socket = new Socket("175.3.15.23", 6503);
//进行数据传输,用流操作来传输
//获得当前Socket对象相关的输出流,可以进行写数据操作
PrintWriter pw = new PrintWriter(socket.getOutputStream());
//获得当前Socket对象相关的输入流,可以进行读数据操作
BufferedReader br = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
while (true) {
//扫描器获得信息的输入
Scanner scanner = new Scanner(System.in);
System.out.println("Client端请输入:");
//获得字符串,并将其写出
String string = scanner.next();
pw.println(string);
//刷新该流的缓冲
pw.flush();
if ("exit".equals(string)) {
break;
}
//读出数据,并在控制台打印出来
String str = br.readLine();
System.out.println("Client端读到:" + str);
}
//关闭该流并释放与之关联的所有系统资源
br.close();
pw.close();
socket.close();
} catch (IOException e) {
}
}
public static void main(String[] args) {
new TestClient();
}
}
mport java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
/**
* 一对一阻塞
* @author chenmin
* 题目:实现客户端与服务端你一言我一语的对话,当输入“exit”时,分别退出;
*
*/
public class TestServer {
public TestServer() {
try {
//创建一个ServerSocket对象
ServerSocket ss = new ServerSocket(4455);
System.out.println("服务器正在启动。。。。");
//当服务器端启动以后,就可以接受客户端的请求
Socket socket = ss.accept();
System.out.println("用户接入成功。。。。");
//进行数据传输
//获得当前Socket对象相关的输入流,可以进行读数据操作
BufferedReader br = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
//获得当前Socket对象相关的输出流,可以进行写数据操作
PrintWriter pw = new PrintWriter(socket.getOutputStream());
while (true) {
//读出数据,并在控制台打印出来
String string = br.readLine();
System.out.println("Server端读到:" + string);
//扫描器获得信息的输入
Scanner scanner = new Scanner(System.in);
System.out.println("Server端请输入:");
//获得字符串,并将其写出
String str = scanner.next();
pw.println(str);
//刷新该流的缓冲
pw.flush();
if ("exit".equals(str)) {
break;
}
}
//关闭该流并释放与之关联的所有系统资源
pw.close();
br.close();