基于C/S模型的java实现

客户端程序

1、  三个字段Socket、输入流、输出流,是Socket通信所需要的三个基本元素。

2、  服务端我们在某个端口建立服务,这个端口不是必然的,可以在任何端口建立服务。唯一的要求是这个端口没有被其他的服务占用。

//声明一个服务器的监听Socket

           server = new ServerSocket(6611);

3、  Accept方法是ServerSocket类的一个重要方法,使用这个方法监听客户端的连接,如果没有连接建立,则程序被阻塞,只有当客户端有连结建立,该方法接受并返回一个相应的Socket,我们可以对此Socket进行特定的操作,以回应客户端。注意:clientSocket变量是指与客户端对应的位于服务器端得Socket.

//声明一个由监听Socket分配的Socket

clientSocket = server.accept();

4、  Socket的运行步骤:

l         服务器的指定端口被绑定一个Socket,服务器等待状态监听客户的连接请求;

l         服务器一旦收到客户端的连接请求,服务端选择一个新的端口并绑定一个Socket与客户的Socket建立Socket对进行通讯;

l         ClientServer分别有两个输入流和输出流进行读写操作。

5、  多线程服务器工作原理

客户端向服务端提交申请,服务器程序生成了一个拥有对应客户端的Socket线程,该线程便成为了服务代理,每个线程代理一个客户端,服务器继续侦听连接请求,如果某个客户端出现了问题,如连接中断,并不会影响服务的运行,但是每个客户端都始终保持与相应线程的连接,线程之间是完全独立的。

你可能感兴趣的:(基于C/S模型的java实现)