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 应答参数接口
所有的日志信息和出错信息会抛出到同一个方法中,由系统统一处理。
from http://www.blogjava.net/bigbigtooth/articles/110142.html
分享到:
相关推荐
HP-Socket 文档 HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统。该框架提供 C/C++、C#、Delphi、E(易语言...
对于初学者来说,这个项目提供了一个很好的实践平台,能深入理解Java Socket的工作原理,以及如何使用它们来实现网络通信。同时,通过实现即时聊天工具,可以学习到多线程编程,因为通常需要在服务器端为每个客户端...
- 文档介绍了如何将基于 SuperSocket 的应用程序部署到微软的云平台 Windows Azure 上,包括配置、负载均衡和扩展性考虑。 9. **日志功能** (18SuperSocket 中的日志功能.pdf) - SuperSocket 内置了日志系统,...
在设计模式中,Socket被视为门面模式的一个实例,它隐藏了底层复杂的网络协议细节,简化了网络编程过程。 2. **Socket模型**:Socket可以视为一种特殊的文件。在Unix/Linux哲学中,“一切皆文件”,这意味着Socket...
SuperSocket 是一个强大的、高度可扩展的、跨平台的.NET网络通信框架,适用于开发各种基于TCP/IP的客户端和服务器端应用程序。1.6版本是其一个重要的更新,提供了许多改进和新特性。这个文档集详细介绍了如何利用...
- **设计哲学**:SuperSocket旨在简化Socket编程,通过抽象出服务器和客户端的核心逻辑,使开发者能专注于业务层的实现。 - **架构组件**:主要包括Server、AppSession、Protocol、SocketService等核心组件,每个...
1. **SuperSocket简介**:文档首先会介绍SuperSocket的基本概念,包括其设计理念、核心功能和优点,例如它的轻量级特性、强大的插件机制以及对多线程和异步操作的支持。 2. **安装与配置**:详细步骤指导如何在C#...
在压缩包的子文件中,"readme.txt"可能是包含项目说明和指导的文档;"app-gateway"可能是一个包含Spring Gateway配置和逻辑的模块;"boottest"可能包含了Spring Boot应用的测试代码;"app-eureka-server"则可能是一...
本文档提供了基于Socket的聊天程序设计与实现的详细介绍,包括设计目的、设计平台、操作系统、VC++6.0简介等,并总结了基于Socket的聊天程序设计与实现的优点和应用前景。 知识点总结: 1. 局域网的重要性和局域...
HPSocket.Net是针对.NET平台开发的高性能、多线程、异步通讯组件,为开发者提供了强大的网络通信支持。 【描述】"C# 版socket 收发TCP协议有模版样例"表明这个资源包含了一个具体的实例,展示了如何在C#中使用...
Socket框架调研文档主要探讨了TCP协议的特点、优缺点以及传统的TCP连接建立步骤。TCP是一种面向连接的、可靠的传输层协议,它在数据交换前先建立连接,确保数据的正确传输,提供超时重发、丢包检测、流量控制和拥塞...
【文件内容推测】:“操作系统课程设计”很可能是指该项目的主体部分,包含了设计文档、源代码、编译和运行指南等。可能包含以下部分: 1. 设计文档:详细阐述了项目的背景、目标、设计方案、实现流程、性能评估等...
它广泛应用于各种领域,包括大数据传输、分布式系统、云计算平台以及游戏服务器等。Netty 的核心设计理念是简化网络编程的复杂性,提供了一种高效且灵活的方式来处理网络I/O操作。 在Java世界中,Socket是基础的...
它的设计目标是提供一个易于扩展的平台,让开发者可以专注于业务逻辑,而不必关心底层Socket通信的复杂性。 **核心概念** 1. **Server**: SuperSocket的核心组件,用于监听和接受客户端连接。它可以是基于TCP或UDP...
SuperSocket是一款强大的.NET平台上开源的TCP服务端开发框架,它简化了创建自定义TCP服务端应用程序的过程。在本篇文章中,我们将深入探讨SuperSocket 1.6的核心特性,并通过一个简单的Demo实例,详细解析过滤器重写...
SuperSocket的ClientEngine部分设计灵活,支持插件扩展。开发者可以通过编写自定义插件,实现特定的功能,如加密传输、身份验证等,增强了系统的可定制性。 7. **错误处理与日志记录** 客户端在运行过程中可能会...
在C++中,Socket接口是基于伯克利套接字(Berkeley Sockets)API设计的,这是一种广泛使用的跨平台网络编程接口。下面我们将深入探讨C++ Socket的相关知识点。 一、Socket基本概念 1. 套接字(Socket):套接字是...
Java Socket聊天室是一种基于Java编程语言实现的网络通信应用,它利用了Socket接口来构建一个局域网内的多人聊天环境,类似于QQ群的功能。在这个项目中,开发者运用了多线程技术来处理并发的用户交互,同时利用...
C++ Socket库通常设计为跨平台,可以在不同操作系统上工作,如Windows、Linux、macOS等。 10. **调试和性能优化** - **日志记录**:用于跟踪和调试Socket通信。 - **缓冲区管理**:优化数据传输速率,减少系统...
- 设计Socket接口协议模型,使用OPNET核心函数结合外部Socket操作函数,处理数据传输和接收。 - 实现Socket控制模块,负责连接管理、数据交互和仿真运行的控制。 3. **具体实现步骤** - **OPNET搭建Server仿真...