java socket接口文档_JAVA版Socket平台的设计文档

1.1基本设计概念和处理流程

主要分为服务端和客户端两个部分。

客户端部分又分为同步与异步两种模式。

JAVA版接口平台主要实现与外部接口的服务端和客户端的通讯。并提供业务接口,允许基于当前内核实现各种业务。

本平台设计的核心思想是实现通讯平台的核心功能,尽可能使代码与业务剥离,提高代码的可重用性。

本平台主要由几个核心模块所组成对各种业务的支持

使用JAVA1.4+版本提供的无堵塞IO实现服务端和客户端的通讯,并提供同步和异步处理两种方式

使用了JDK 1.5带的线程池,提供一个线程池的服务,为服务端或客户端提供多线程处理的功能。本身实现了Singleton模式和自带了监控线程,实现了自我管理。

为解析协议提供简便的方法处理字节数组。

为了实现通信平台的业务无关性,本平台设计了一些接口提供给业务开发实现。

为所有解析协议提供统一协议解析类接口。主要是为了统一协议解析的方式。

业务接口主要有两种:业务逻辑接口和业务实现接口。

2.3.2.1业务逻辑接口

主要为了处理每一个指令的业务流程,例如先读取,再处理业务,再返回结果;或者先发送指令,再等待返回结果。

2.3.2.2业务实现接口

主要处理每个协议中每一个指令所对应的业务网处理。

专门为客户端登录服务器时提供的统一的注册方式。

l通讯服务

l并发处理客户端请求

l自监控

l可自定义的业务接口

l与服务端通讯

l可自定义的业务接口

l支持异步模式

通过继承一个业务逻辑类接口和一个抽象业务逻辑类实现统一的业务逻辑接口实现。主要功能有:

l读取请求内容

l发送请求

l读取配置文件

l协议解析

l反射调用业务实现接口

对于单个指令的业务实现

通过继承客户端类,通过调用通讯接口实现客户端的业务流程,主要功能有:

l发送指令

l接收指令

l重置连接

客户端连接到服务端时会自动判断是否正常连接,如果在通讯过程中,发现网络中断,将重新发起一个连接请求,并自动注册到服务器上。

客户端提供异步通信和同步通信。在同步通信是一个线程堵塞的方法,该方法会等待结果的返回才退出该方法。但如果等待时间超过配置的超时时间,会抛出一个通信超时的异常,并退出该方法。

服务端处理请求都是使用线程池处理每个客户端的请求。在客户端通讯的过程中如果连接断开了,或者发生了一些特定的异常,则线程池监控线程会将该线程中的连接断开,并将线程回收到线程池中。

实现一个协议接口和一个协议抽象类,每个通信节点所使用的协议都必须实现该接口,里面封装了一些协议基本的信息和一些基本的协议解析方法。主要包含方法:

l协议完整性校验接口

l指令解析接口

l设置包头长度

l设置包体长度

l设置包尾长度

实现一个协议里每个指令的调用,设计目的是将指令的字符转化为对象,可以方便地面向对象开发。主要包含方法:

l指令初始化接口

l请求参数接口

l应答参数接口

所有的日志信息和出错信息会抛出到同一个方法中,由系统统一处理。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值