网络编程:基于TCP实现网络通信

server.java

package cn.xtnotes.t123;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
	public static void main(String[] args) throws IOException {
		Socket socket=null;
		ServerSocket server=null; //服务端通讯对象,用于等待客户端请求
		server=new ServerSocket(8888);
		System.out.println("服务端准备完成!");
		socket=server.accept(); //到指定的端口监听客户端,一旦有客户端发送请求则自动建立连接
		String msg="你好,我是服务器!";
		OutputStream os=socket.getOutputStream();// 获取输出流对象
		BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(os));//缓冲输出流
		bw.write(msg); //、写入信息
		bw.flush(); // 刷新缓冲区
		//关闭各种资源注意顺序
		bw.close();
		os.close();
		socket.close();
		server.close();
	}
}

Client.java

package cn.xtnotes.t123;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
	public static void main(String[] args) throws UnknownHostException, IOException {
		Socket socket=new Socket("localhost",8888); //连接服务器
		System.out.println("客服端准备完毕");
		//客户端接收数据
		InputStream is=socket.getInputStream();
		BufferedReader br=new BufferedReader(new InputStreamReader(is));
		String msg=br.readLine(); //执行服务器发送的消息
		System.out.println("客服端收到的消息:"+msg);
		br.close();
		is.close();
		socket.close();
	}
}

先运行 server.java

server

在运行 client.java

阅读剩余
THE END