在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通讯框架介绍一文之中咱们对AgileEAS.NET SOA中间Socket/Tcp框架进行了整体的介绍,咱们知道git
AgileEAS.NET SOA中间件Socket/Tcp框架是一套Socket通讯的消息中间件:程序员
在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通讯框架-简单例子-实现简单的服务端客户端消息应答中咱们实现了一个简单的客户端消息请求==>服务端应答的简单的Socket应用。github
本文咱们将实现一个多人聊天室的应用,相似于早年的网络聊天室或者当年的QQ网络聊天室或者游戏里面的聊天功能,聊到室主界面以下:sql
聊天室支持公聊和私聊频道,理论上能够支持几百甚至几千人,具体上限没有通过测试,在这个案例之中,你们将会掌握基于AgileEAS.NET SOA中间件Socket/Tcp框架的比较复杂的消息定义及消息处理及消息协调,同时还会掌握如何管理服务端的连接、聊天室用户在线状态、消息的多目标转发等功能。数据库
本案例的可执行客户端程序和服务端已经在咱们的服务器上为你们部署了一套,你们能够下载客户段http://42.121.30.77/downloads/eas/examples/chat.client.rar体验,下载客户端压缩包以后解压缩,注册一个帐号就能够使用这个帐号登陆咱们为你们搭建的聊天室服务端。服务器
本案例源代码请通AgileEAS.NET SOA中间件官方网站的最新下载中的栏目进行下载或者从SVN中获取最新版本的源代码:网络
下载或者SVN-OUT获得代码以后咱们来看一下代码文建构:框架
一级目录post |
二级目录学习 |
说明 |
Code |
程序源代码 |
|
Entities |
实体(ORM)代码 |
|
BLL.Contracts |
业务契约定义代码 |
|
BLL.Host |
数据实现代码 |
|
Messages |
Socket通讯消息定义 |
|
Services |
Socket服务定义 |
|
ChatRoom |
客户段程序代码 |
|
UserManage |
注册用户管理代码 |
|
db |
用户数据库文件,Sqlite数据库 |
|
Documents |
文档,用户模型文档 |
|
Publish |
引用程序集及编译输出 |
而后用VS2010或者VS2012打开Code目录之中的ChatRoom解决方案进行编译,编译写成以后咱们开始进行配置。
打开Publish目录之中的EAS.SOA.Server.exe.config进行服务端配置:
其中最重要的配置就是配置服务端sqlite数据库文件的路径,以及端口号,固然端口号是能够不用修改的,配置完成以后咱们启动Publish目录之中的soaserver.start.bat指指理文件来启动聊天室服务端:
启动聊天室服务端的本质是启动AgileEAS.NET SOA 中间件SOA服务,在SOA服务之中咱们集成了Socket插件服务系统,咱们的聊天室作为一个SOA的Socket插件服务被进行加载和处理,须要说明的是若是你的运行环境是Win7或者Win2008操做系统,须要以管理员权限运行启动脚本:
接下来咱们配置客户段,打开ChatingRoom.MainClient.exe.config文件,修改如下地方:
这样咱们变完成了聊天室客户端的配置,运行ChatingRoom.MainClient.exe程序启动客户端的登陆窗口:
点用户注册注册一个新用户:
注册成功以后使用这个用户登陆聊天室:
到时为止,聊天室案例的配置过程到此完成!
要学习和研究本案例的源代码,请参考:
在以后的文章之中咱们将会对本案例源代码进行分析。
感谢团队成员计文忻同窗为你们编写了本案例的初版本,以后我在通讯和界面上作了一些小的调整,也感谢王涛同窗为本应用案例提供了Banner图片和一些界面美工建议,也感谢在此案例进行测试和提出建议的客户和小伙伴们。
为了完善、改进和推广AgileEAS.NET而成立了敏捷软件工程实验室,是一家研究、推广和发展新技术,并致力于提供具备自主知识产权的业务基础平台软件,以及基于业务基础平台了开发的管理软件的专业软件提供商。主要业务是为客户提供软件企业研发管理解决方案、企业管理软件开发,以及相关的技术支持,管理及技术咨询与培训业务。
AgileEAS.NET平台自2004年秋呱呱落地一来,我就一直在逐步完善和改进,也被应用于保险、医疗、电子商务、房地产、铁路、教育等多个应用,但一直都是以我我的在推广,2010年由于我辞职休息,我就想到把AgileEAS.NET推向市场,让更多的人使用。
个人技术团队成员都是合做多年的老朋友,由于这个平台是免费的,因此也没有什么收入,都是由程序员的那种理想与信念坚持,在此我感谢一块儿奋斗的朋友。
AgileEAS.NET网站:http://www.agileeas.net
官方博客:http://eastjade.cnblogs.com
github:https://github.com/agilelab/eas
QQ:47920381
AgileEAS.NET QQ群:
113723486(AgileEAS SOA 平台)/上限1000人
199463175(AgileEAS SOA 交流)/上限1000人
120661978(AgileEAS.NET 平台交流)/上限1000人
212867943(AgileEAS.NET研究)/上限500人
147168308(AgileEAS.NET应用)/上限500人
172060626(深度AgileEAS.NET平台)/上限500人
116773358(AgileEAS.NET 平台)/上限500人
125643764(AgileEAS.NET探讨)/上限500人
193486983(AgileEAS.NET 平台)/上限500人
邮件:james@agilelab.cn,mail.james@qq.com,
电话:18629261335。