搭建c、s模型框架

一、     项目概述

1     项目背景

此框架是为了快速搭建客户端之间能够完成客户端之间进行一对一,一对多,广播的的通信功能,也可以客户端向服器请求的动作,服务器进行响应的框架。


c/s通讯系统框架为团队或个人快速搭建c/s系统提供支持,开发人员不必重复搭建基础功能和软件架构,框架提供了开发包,可以节约开发成本,开发框架已经完成了项目的许多工作量,只需程序员专注业务部分的开发工作,于是就提高了开发效率和开发成本。

2     开发环境

开发工具

Eclipse

开发语言

Java

3     技术核心

技术核心有两个,第一,对服务器和客户端的分层结构,第二,服务器处理客户端的请求

服务器和客户端的分层结构

服务器和客户机是一对多的结构,下面展示的是一对一模型


其中绿色的框部分为做成的系统框架,而服务器和客户端的应用层和业务层由使用该框架的程序员完成。

应用层需要程序员编写还要对用户的动作进行封装,封装为client层可以接受的字符串。(如果为请求的话格式是:动作?执行动作需要的信息(json字符串),如果是通讯的话格式是:FROM:TO//command?message),再通过communication对消息再封装的传递到服务器的conversation后,进行解析传来的字符串是请求还是通讯,如果请求的话根据动作找到对应的业务层方法,并且解析参数将参数传入进去,得到返回值,再通过communication传回到客户机,如果是通讯的话,根据TO和command的信息进行传递消息。

在服务器和客户机中每层会产生一些内部信息,采用的是监听模式,一直往最上层发,直到发送到应用层。

服务器处理客户端请求和客户端间的通讯

一.服务器处理客户端请求

客户端传递过来的请求,首先扫描包,然后根据动作在服务端的业务层找到对应的方法,和解析传递过来的json字符串,然后执行该方法。

由于传递过来的动作要和方法对应,还要知道解析json字符串后的实参如何对应方法的形参,以及扫描包要扫出来的包含动作的类,因此程序员只需在处理客户端请求的类中要使用下面三种注解,

类注解,表明扫描包时,就扫此类,

方法注解,为了动作和执行的方法一一对应,

方法参数注解,为了实参和方法形参的对应,

二.客户端间的一对一和一对多之间的通讯如下图所示

客户端之间的通讯要通过服务器的转发


 二,总结

要站在做框架的角度上考虑问题,和编写代码,因为使用框架的是程序员而不是用户。


代码:链接:https://pan.baidu.com/s/1dGKK4Xb 密码:ruvs

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值