服务端 :
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
/*
* IP:172.17.67.171
*/
public class Server {
private static ServerSocket ss = null;
private static Socket socket = null;
private static OutputStream os = null;
private static OutputStreamWriter osw = null;
private static BufferedWriter bw = null;
private static InputStream is = null;
private static InputStreamReader isr = null;
private static BufferedReader br = null;
public static void main(String[] args) throws Exception {
// boolean flag = true;
ss = new ServerSocket(23600); // 获取服务端对象
// while (flag) {
socket = ss.accept(); // 通过调用accept方法 等待 客户端连接请求 并返回 Socket对象
// 调用 getOutputStream获取输出流 ,可以把要发送到客户端的信息写入到输出中流
os = socket.getOutputStream();
// 使用转换流把字节流转换一下 , 从字节流转换成字符流
osw = new OutputStreamWriter(os);
// 把转换流再放到缓冲流中
bw = new BufferedWriter(osw);
// 开始向缓冲流中写入信息 ,这些信息是写给客户端的
bw.write("欢迎连接,你已连接上\n");
System.out.println("AAAAAAAAAAAA");
bw.flush();// 把写入的信息从缓冲区中刷新到内存中
is = socket.getInputStream();
isr = new InputStreamReader(is);
br = new BufferedReader(isr);
String msg = br.readLine();
System.out.println(msg);
// }
br.close();
isr.close();
is.close();
bw.close();
osw.close();
os.close();
socket.close();
ss.close();
}
}
客户端:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws Exception {
Socket socket = new Socket("127.0.0.1",23600);
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String msg = br.readLine();
System.out.println(msg);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
bw.write("服务器你好\n");
bw.flush();
bw.close();
br.close();
socket.close();
}
}