这是我刚刚接到的一个题目,望各位高手给点意见。

问题描述

假设现在需要开发一个客户端、服务端用于交互的网络协议,协议为文本协议,由客户端发起请求,服务端接收并处理,处理完毕后给客户端发送回应。经初步的分析,协议的消息分为请求消息(客户端发送的请求)和回应消息(服务端处理后的回应)两大类,每个协议包(一个请求消息或回应消息)都包含有包头和包体,其中包头包含有用于区分各种包的命令字(字段cmd),而包体一般包含对应消息的一些额外信息(如修改密码消息中的新旧密码等)。鉴于当前的情况,客户端和服务端需要处理的消息包括注册、注销、修改密码、修改信息等,但随着需求的变化,需要处理的消息会越来越多,比如锁定、解锁等等。加入现在要你来设计该系统中跟协议相关的部分(包括协议的解析(从文本到对象、对象到文本),协议的处理(处理可能是多种多样的,无需具体实现,定义出步骤即可),网络传输无需考虑),要求能够比较好的适应今后协议的修改和升级(不断出现的新的消息种类),在增加新的消息时,最好对已有代码做的修改尽量少。答案给出UML类图,并作必要的说明即可

解决方案

解决方案二:
还没学完网络的路过,坐等高手。

时间: 2024-10-12 10:16:09

这是我刚刚接到的一个题目,望各位高手给点意见。的相关文章

数组 语言-简单的 素数筛选 刚刚入门计蒜客上的一个题目总过不了

问题描述 简单的 素数筛选 刚刚入门计蒜客上的一个题目总过不了 小度机器人最近正在添加功能,Robin希望小度机器人可以告诉他从1到N( 1 < N <= 10000)有多少个素数.请你来帮帮他吧? 输入包括一行,仅一个数字N. 输出在(1, N]区间内的所有的素数. 解决方案 http://www.cnblogs.com/wuzhenbo/archive/2012/04/26/2470357.html 解决方案二: 素数计算再简单不过了,当然你还是最好检查下你的程序.然后看看是不是性能的原因

c++-Clist中包含Clist的变量,无法初始化 “很有意思的一个题目” 大侠路过请留步,谢谢

问题描述 Clist中包含Clist的变量,无法初始化 "很有意思的一个题目" 大侠路过请留步,谢谢 最外层:typedef Clist MOUDLE; structA{ type A; ... MAC mac; } MAC的定义为:typedef Clist MAC; 在全局或局部定义MOUDLE md:时报错: 1>D:Program Files (x86)Microsoft Visual Studio 10.0VCatlmfcincludeafxtempl.h(771):

link表达式和正则表达式有什么区别,怎么样看出一个题目应该用哪一种表达式?

问题描述 link表达式和正则表达式有什么区别,怎么样看出一个题目应该用哪一种表达式? link表达式和正则表达式有什么区别,怎么样看出一个题目应该用哪一种表达式? 解决方案 LINQ 是只有.net framework独有的一种编程语法 而正则表达式是跨语言的,比如 C# JAVA JS 等等都可以用自己的语法来支持正则表达式 怎么使用他们,要结合实际的需求

搜索-如何从数据库一个表链接到另一个表

问题描述 如何从数据库一个表链接到另一个表 5C 自己弄了一个搜索,一个表包含所有的用户名称,每一个用户各占一个表,如何才能链接到那个用户的表,输出他的信息呢?求给一个思路,谢谢各位. 解决方案 一张用户表跟一张用户信息表就可以了,把用户表的id作为用户信息表的外键,然后通过用户表的id去用户信息表关联出用户信息 解决方案二: 将一个数据库中的表复制到另一个数据库MySQL 数据库怎样把一个表的数据插入到另一个表MySQL 数据库怎样把一个表的数据插入到另一个表 解决方案三: 你说的什么意思,不

c语言-本人编程初学,刚刚编写了一个整数的比较大小的小程序,希望大神帮我看看

问题描述 本人编程初学,刚刚编写了一个整数的比较大小的小程序,希望大神帮我看看 希望大神帮我看一下是不是可以比较整数的所有情况,而且此算法有点复杂,可以怎样简化 #include int main() { int compare(int a,int b); int x,y,c,g; printf("请输入两个整形数用于比较大小:n"); scanf("%d,%d",&x,&y); c=compare(x,y); if(c==g) printf(&qu

c++ 作图-刚刚抄的一个c++画图程序,编译通过无法运行,感谢各位指教,虚心学习

问题描述 刚刚抄的一个c++画图程序,编译通过无法运行,感谢各位指教,虚心学习 #include #include #include #include #define pi 3.1415926 long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam); bool InitWindowsClass(HINSTANCE hIntance); bool InitWindows(HINSTANCE hInstance,int

360刚刚上线了一个网站

360刚刚上线了一个网站,透露即将发布一款名为"360防丢卫士"的产品.从网站上放出的信息来看,360防丢卫士应该是一个方形硬件设备,上面的四个按键中,放大镜代表的是防丢相关的功能,另外三个按钮,据内部人士透露,暂时是支持手机拍照,未来还会扩展到其他功能. 防丢的确是一个刚需,目前市面上也有不少公司在做类似的产品,但是还没有特别实用的解决方案,一直主打"安全"的360会怎么做呢?

线程同步的一个问题,求高手指导

问题描述 线程同步的一个问题,求高手指导 public class TestTicket{ public static void main(String[] args){ SellTickets st = new SellTickets(); Thread t1 = new Thread(st,"窗口1--"); Thread t2 = new Thread(st,"窗口2--"); Thread t3 = new Thread(st,"窗口3--&quo

关于android 横竖屏的一个问题。求高手赐教。

问题描述 关于android 横竖屏的一个问题.求高手赐教. 关于android 横竖屏的一个问题.求高手赐教. activity被我强制设为横屏了,但是在此activity上锁屏后再解锁屏,这时此activity竟是从竖屏切换到横屏了,也就是说锁屏后横屏的activity又变回竖屏了.这是怎么回事?如何让被我强制设为横屏的activity一直保持横屏,即使在锁屏的时候? 解决方案 其实我很奇怪为什么你的屏幕没有转成横屏,因为你已经设置横屏了. 如果一个界面是横屏状态下锁屏,如果锁屏界面是竖屏,