关于网络通信流程的大概描述
客户机请求连接服务器,连接成功后,双方便可开始互相发送消息,读取消息。
思路
这里的网络通信需要两个大的东西,客户机和服务器,那么围绕这两个来即可。
一、服务器方面
1.创建好服务器,通过一行ServerSocket来实现
2.需要响应客户机的请求,使用Socket来创建连接
3.创建I/O流来输出服务器数据,接受客户机发送的数据。
4.关闭各种信息流,关闭网络连接。就像打电话总有会挂断的时候。
二、客户机方面
1.创建Socket连接通信服务器,同时要对应好服务器的IP地址和端口(port),相当于打电话的时候要输对电话号码。
2.创建I/O流来输出客户机数据,接收服务器发送的数据。
3.关闭各种信息流,关闭网络连接。
搭建服务器和连接几行代码即可实现,主要涉及的操作,是对于发送读取数据的处理。下面我来实现一个发送字符串的通信,以此来展示一个简单的通信过程。
代码
我们首先需要创建服务器,启动项目的时候,也需要先启动服务器。总不能让我们的客户机连进一个不存在的东西里吧?
Admin.java
public class Admin {
public void Begin(int port) {
//首先需要创建一个服务器
try {
//使用需要捕获异常,因为可能会存在无法连接的情况
ServerSocket my = new ServerSocket(port);
//测试语句
System.out.println("本地服务器已建立");
//等待与客户机连接
Socket admin = my.accept();
System.out.println("已收到客户机请求");
//输入流,读取数据用的
InputStream read = admin.getInputStream();
BufferedReader tr = new BufferedReader(new