团队项目总结2-服务器通信模型和顺序图

  接上篇。

  1. 通信模型

选用基于WIN32的WSAAsySekect模型.

WSAAsyncSelect模型自动把套接字设为非阻塞模型,并为套接字绑定程序窗口句柄,当有网络事件发生时,该向该窗口发送消息。

通信过程:

1)  服务器端首先启动监听程序,对指定的端口进行监听,等待接收客户端的连接请求;

2)  客户端程序启动,请求连接服务器的指定端口;

3)  服务器接收到客户端的连接请求后与客户端建立套接字连接;

4)  连接成功后,客户端和服务器分别打开两个流,其中客户端的输入留连接到服务端的输出流,服务器的输入流连接到客户端的输出流,两边的流连接成功后就可以进行双向通信了。

5)  当通信完毕后,客户端与服务器两边各自断开连接。

2.  顺序图

CNetwork是服务器和客户端的接口,服务器和客户端之间数据的传送通过此类完成。

时间: 2024-11-07 07:07:49

团队项目总结2-服务器通信模型和顺序图的相关文章

团队项目总结1---需求分析和类图

软工课程的学习刚刚结束,我们的小型网络游戏开发第一版本已经完成.开发文档也完成并请老师查看给予了一些建议. 在用例图部分,我们先前分成了客户端和服务端用例图,遭到了老师的批评.用例图是站在使用客户的角度上来说的,我们一直改变不了思维定式,从代码的角度上将系统分成了两个部分,这是不对的.后来我们更改了用例图,分为玩家用例图,运营商用例图,数据库管理员用例图,运营商-玩家用例图.还得注意起名的规范,动名词才能体现出用例功能. 下面,是项目中我完成的部分的总结 我和组员王宜鸣完成的是游戏服务器的设计和

怎样在TFS(Team Foundation Server)中链接团队项目

1.打开Visual studio 2013 2.在工具栏 选择 view  ->Team Explorer->Connect to Team Project,即下面黄框表示出的插头状图标,选择 Select Team Projects,如下图: 3.在Team Explorer中, 按照下图链接团队项目所在的服务器 详细的信息可以参考MSDN链接: https://msdn.microsoft.com/en-us/library/ms181475.aspx

团队项目NABCD模型的需求分析

团队项目NABCD模型的需求分析 NABCD模型的介绍 Need(需求)-现在市场上未被满足但又急需满足的客户需求是什么?Approach(方法)-要满足这种需求,我能够提出什么独特的方法吗?Benefits (收益)-该方法给顾客提供的便利是什么?Competition (竞争) -对于竞争对手和其他可选择的方案来说,这种单位成本收益的优势在哪里? ? 1. ?Need 需求 ? ?我们的这次qq项目适用于局域网内的聊天通讯所用,用的数据库轻小而稳定,我们通过了数据设计的第三大范式进行约束表的

团队项目----数据库SQL语句学习总结与实践

在本次团队项目编程过程中,我主要负责数据库的设计与建立:在知识不够,能力不足,无数据库设计经验的情况下,对SQL语句进行了较为深入的学习,今天将成果整理之后,写了这篇博客,欢迎大家指出我的不足. 首先,介绍一下Windows下使用DOS命令进入MySQL数据库 1.桌面左下角windows图标--搜索框内输入cmd,结果如图所示,点击cmd.exe,或者使用快捷键Windows键(在键盘上有个Windows标志的按键)+R输入cmd后回车. 2.启动mysql数据库:在出来的DOS命令窗口中输入

团队项目利用Msbuild自定义Task实现增量发布

最近一直在做自动部署工具,主要利用到了Msbuild的自定义Task,通过Task我们可以自定义编译.部署过程减少人工直接干预.Msbuild的详细用法,可以去园子里搜一下,有很多的基础教程,这里就不赘述了,还是集中说一下增量发布的问题. 增量主要涉及到三部分内容,程序.配置和静态文件(例如CSS.JS等),程序的增量比较简单,通过版本对比或者TFS的修改记录便可以查询出被修改过的程序集.配置文件增量大致有两种,全增量和部分增量.全增量也很简单,直接把修改过的配置文件复制到发布包就OK了:部分增

团队项目(一)

团队项目我们组是要做一款局域网聊天工具,是可以允许用户在局域网中创建聊天室并聊天.对于在同一局域网中有聊天.群聊需求的用户十分有帮助,面向高校.企业用户.无需连接因特网,在局域网便可以开启群聊. 具体需求分析如下: 以下数字代表功能需求优先级,最大为10. 业务需求: 私人即时文字交流(10): 一对一的文字交流,一个客户端发送方与一个接收方,发出字符串后接收. 多人即时文字交流(9): 一个客户端发送方与多个接收方,发出字符串(长度<50)后接收. 图形用户界面(10): 提供简洁易懂的图形用

团队项目(三)

最近实现了团队项目局域网聊天室的服务器端的框架,目前可以接收socket请求并收发消息. 由于聊天室服务器需要同时维持多个socket通信,所以服务器端代码采用了多线程技术,即每接收到一个socket请求后将创建一个新的线程进行后续操作,而主线程一直在等待请求并分发任务.实现了同时服务多个socket的功能. 代码如下: 主线程代码: 1 public class Server { 2 3 public static void main(String[] args) { 4 // TODO Au

团队项目(二)

团队项目是建立局域网聊天室,我们打算用socket通信实现消息传递.考虑网络方面java有很多封装好的类库,使用十分方便,我们团队初步打算使用java实现. 目前我和王以正同学完成代码.目前我起了一个头,完成了客户端内核的基本框架.代码如下: 1 public class Client { 2 3 Socket soc = null; 4 public String name; 5 public String roomName; 6 public InputStream is = null; 7

yousa_team团队项目 兼职平台 完成展示

我们团队的团队项目是一个大学生兼职网站,商家可以在网站上发布信息,学生对相应的岗位进行预约,然后根据信誉度来表示用户的信誉,整个平台由管理员监控, 包括修改错误信息,修改用户信誉度,删除过期信息,接受用户意见反馈等.后台就是对数据库进行增删改查,难度并不是很大,鉴于我们组组员都没有web开发的经验 所以我选择这样一个难度不是很大的项目,希望大家一起在实战中学习前台的html,css,div布局,js和jQuery,以及ajax的应用,还有轻量级框架springMVC的应用 以及数据库的增删改操作