AgileEAS.NET SOA 中间件平台.Net Socket通信框架-完整应用例子-在线聊天室系统-下载配置

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
MSE Nacos 企业版免费试用,1600元额度,限量50份
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介:

一、AgileEAS.NET SOA中间件Socket/Tcp框架介绍

     在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA中间Socket/Tcp框架进行了总体的介绍,我们知道

AgileEAS.NET SOA中间件Socket/Tcp框架是一套Socket通信的消息中间件:

image_thumb2_thumb3

二、简单的服务器客户段消息应答

     在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架-简单例子-实现简单的服务端客户端消息应答中我们实现了一个简单的客户端消息请求==>服务端应答的简单的Socket应用。

三、完整的应用-实现完整的聊天室

     本文我们将实现一个多人聊天室的应用,类似于早年的网络聊天室或者当年的QQ网络聊天室或者游戏里面的聊天功能,聊到室主界面如下:

H_%A[}

     聊天室支持公聊和私聊频道,理论上可以支持几百甚至几千人,具体上限没有经过测试,在这个案例之中,大家将会掌握基于AgileEAS.NET SOA中间件Socket/Tcp框架的比较复杂的消息定义及消息处理及消息协调,同时还会掌握如何管理服务端的链接、聊天室用户在线状态、消息的多目标转发等功能。

     本案例的可执行客户端程序和服务端已经在我们的服务器上为大家部署了一套,大家可以下载客户段http://42.121.30.77/downloads/eas/examples/chat.client.rar体验,下载客户端压缩包之后解压缩,注册一个账号就可以使用这个账号登录我们为大家搭建的聊天室服务端。

MZVLR1_LY2AQB$ASWM$G{)P

三、下载源代码编译配置运行

     本案例源代码请通AgileEAS.NET SOA中间件官方网站的最新下载中的栏目进行下载或者从SVN中获取最新版本的源代码:

LW38B4P5OHU~WZ{`)`[Y197

下载或者SVN-OUT得到代码之后我们来看一下代码文建构:

一级目录

二级目录

说明

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进行服务端配置:

4W5DT(AWNV}`YX%0U@OEDJJ

WJ0OWEV1PXE}_`SI{YO2BFU

     其中最重要的配置就是配置服务端sqlite数据库文件的路径,以及端口号,当然端口号是可以不用修改的,配置完成之后我们启动Publish目录之中的soaserver.start.bat指指理文件来启动聊天室服务端:

N6HE]4DVN%_N}6ST}FABXR3

     启动聊天室服务端的本质是启动AgileEAS.NET SOA 中间件SOA服务,在SOA服务之中我们集成了Socket插件服务系统,我们的聊天室做为一个SOA的Socket插件服务被进行加载和处理,需要说明的是如果你的运行环境是Win7或者Win2008操作系统,需要以管理员权限运行启动脚本:

BL@PQ)_6(B95%MID}JBCJSK

接下来我们配置客户段,打开ChatingRoom.MainClient.exe.config文件,修改以下地方:

5P~7LUEK6T_YJFT}K5P@QT4

    这样我们变完成了聊天室客户端的配置,运行ChatingRoom.MainClient.exe程序启动客户端的登录窗口:

L$ZPI7X6_6N]1I`[TQZ)]9U

    点用户注册注册一个新用户:

9H3P~K47S%S51)H4K6D$9{C

    注册成功之后使用这个用户登录聊天室:

MVA{M14~7~[DU9LSTZT_INS

     到时为止,聊天室案例的配置过程到此完成!

四、源代码学习

     要学习和研究本案例的源代码,请参考:

     1.AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍

     2.AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架-简单例子-实现简单的服务端客户端消息应答

     在之后的文章之中我们将会对本案例源代码进行分析。

五、特别感谢

     感谢团队成员计文忻同学为大家编写了本案例的第一版本,之后我在通信和界面上做了一些小的调整,也感谢王涛同学为本应用案例提供了Banner图片和一些界面美工建议,也感谢在此案例进行测试和提出建议的客户和小伙伴们。

六、联系我们

     为了完善、改进和推广AgileEAS.NET而成立了敏捷软件工程实验室,是一家研究、推广和发展新技术,并致力于提供具有自主知识产权的业务基础平台软件,以及基于业务基础平台了开发的管理软件的专业软件提供商。主要业务是为客户提供软件企业研发管理解决方案、企业管理软件开发,以及相关的技术支持,管理及技术咨询与培训业务。

     AgileEAS.NET平台自2004年秋呱呱落地一来,我就一直在逐步完善和改进,也被应用于保险、医疗、电子商务、房地产、铁路、教育等多个应用,但一直都是以我个人在推广,2010年因为我辞职休息,我就想到把AgileEAS.NET推向市场,让更多的人使用。

     我的技术团队成员都是合作多年的老朋友,因为这个平台是免费的,所以也没有什么收入,都是由程序员的那种理想与信念坚持,在此我感谢一起奋斗的朋友。

团队网站:http://www.agilelab.cn

AgileEAS.NET网站:http://www.smarteas.net

官方博客:http://eastjade.cnblogs.com

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。


作者:魏琼东 
出处:http://www.cnblogs.com/eastjade
关于作者:有13年的软件从业经历,专注于中小软件企业软件开发过程研究,通过在技术与管理帮助中小软件企业实现技术层面开源节流的目的。熟悉需求分析、企业架构、项目管理。现主要从事基于AgileEAS.NET平台的技术咨询工作,主要服务于医疗卫生、铁路、电信、物流、物联网、制造、零售等行业。如有问题或建议,请多多赐教! 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过mail.james@qq.com 联系我,也可以加入QQ群:113723486、199463175、116773358、116773358、212867943、147168308、59827496、193486983、15118502和大家共同讨论,非常感谢。


    本文转自魏琼东博客园博客,原文链接:http://www.cnblogs.com/eastjade/p/3380244.html,如需转载请自行联系原作者

相关文章
|
边缘计算 安全 中间件
软件体系结构 - 嵌入式系统(4)- 嵌入式中间件
软件体系结构 - 嵌入式系统(4)- 嵌入式中间件
475 0
|
4月前
|
存储 XML 开发工具
【Azure Storage Account】利用App Service作为反向代理, 并使用.NET Storage Account SDK实现上传/下载操作
本文介绍了如何在Azure上使用App Service作为反向代理,以自定义域名访问Storage Account。主要内容包括: 1. **设置反向代理**:通过配置`applicationhost.xdt`和`web.config`文件,启用IIS代理功能并设置重写规则。 2. **验证访问**:测试原生URL和自定义域名的访问效果,确保两者均可正常访问Storage Account。 3. **.NET SDK连接**:使用共享访问签名(SAS URL)初始化BlobServiceClient对象,实现通过自定义域名访问存储服务。
|
消息中间件 中间件
中间件消息降低系统间的耦合性
【6月更文挑战第8天】
119 5
|
消息中间件 存储 负载均衡
|
9月前
|
消息中间件 中间件 数据库
NServiceBus:打造企业级服务总线的利器——深度解析这一面向消息中间件如何革新分布式应用开发与提升系统可靠性
【10月更文挑战第9天】NServiceBus 是一个面向消息的中间件,专为构建分布式应用程序设计,特别适用于企业级服务总线(ESB)。它通过消息队列实现服务间的解耦,提高系统的可扩展性和容错性。在 .NET 生态中,NServiceBus 提供了强大的功能,支持多种传输方式如 RabbitMQ 和 Azure Service Bus。通过异步消息传递模式,各组件可以独立运作,即使某部分出现故障也不会影响整体系统。 示例代码展示了如何使用 NServiceBus 发送和接收消息,简化了系统的设计和维护。
158 3
|
11月前
|
运维 安全 Cloud Native
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
|
11月前
|
C#
一款.NET开源、跨平台的DASH/HLS/MSS下载工具
一款.NET开源、跨平台的DASH/HLS/MSS下载工具
|
消息中间件 中间件
中间件消息降低系统复杂性
【6月更文挑战第9天】
62 4
|
负载均衡 安全 中间件
选择中间件与现有系统的兼容性
【5月更文挑战第21天】
204 1
|
安全 程序员 Shell
老程序员分享:NSIS自定义界面,下载并安装Net.Framework4.8
老程序员分享:NSIS自定义界面,下载并安装Net.Framework4.8