网络编程程序的分类:
1、B/S 程序: 浏览器与服务器程序
2、C/S程序: 客户端与服务器程序
TCP协议的C/S程序
需要使用到两个类, 来编写TCP协议的CS程序
1.ServerSocket 搭建服务器
2.Socket 搭建客户端
两方使用socket(套接字 , 通信端点) 进行交流
服务器
public class Demo_server {
//服务器
public static void main(String[] args) throws IOException {
//创建端口为20000的服务器
ServerSocket server = new ServerSocket(20000);
System.out.println("服务器启动完毕");
//等待客户端连接
Socket socket = server.accept();
System.out.println("一个客户端连接了");
//服务器向客户端传数据
OutputStream os = socket.getOutputStream();
//用PrintStream也可以,PrintStream不用flush
PrintWriter pw = new PrintWriter(os);
//PrintStream pw = new PrintStream(os);
pw.println("欢迎连接服务器");
//使用PrintWriter一定要flush
pw.flush();
}
}
客户端
public class Demo_client {
//客户端
public static void main(String[] args) throws IOException {
//定义连接ip为127.0.0.1,port为20000的客户端
Socket socket = new Socket("127.0.0.1",20000);
//接收服务器传来的数据
InputStream is = socket.getInputStream();
//将字节流转换为字符流,利用匿名内部类创建InputStreamReader(is)对象
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String text = br.readLine();
System.out.println("客户端接收到消息:"+text);
}
}