递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
楼主: 创世魂
打印 上一主题 下一主题

[视窗] 【解决方案】火山视窗服务器插件化开发研究_部件DLL案例

  [复制链接]

1

主题

73

帖子

857

积分

高级会员

Rank: 4

积分
857
91#
发表于 2024-5-18 23:24:16 | 只看该作者
感谢分享????????????????????
回复

使用道具 举报

7

主题

63

帖子

584

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
584
92#
发表于 2024-5-21 13:18:28 | 只看该作者
学习下
回复

使用道具 举报

0

主题

10

帖子

116

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
116
93#
发表于 2024-7-3 18:47:09 | 只看该作者

高级模式
BColorImageLinkQuoteCodeSmilies@朋友
本版积分规则参与/回复主题       
设为首页收藏本站开启辅助访问切换到宽版切换风格
递归火山软件开发平台

sjavaw |我的 |设置 |消息 |提醒 |门户管理 |退出

积分: 76 |用户组: 核心用户

快捷导航
核心用户区官方QQ群图文教程官方网站易语言世恒火山视频利快云火山论坛
请输入搜索内容
帖子
搜索       
热搜:火山源码类库
递归火山软件开发平台»论坛›递归火山软件开发平台›火山平台俱乐部›【解决方案】火山视窗服务器插件化开发研究_部件DLL案例 ...
12345678910
1
/ 10 页下一页
返回列表发新帖回复
生成文章
查看: 13318|回复: 91
打印 上一主题 下一主题[视窗] 【解决方案】火山视窗服务器插件化开发研究_部件DLL案例   [复制链接]
创世魂

439

主题       
1万

帖子       
3万

积分


超级版主

Rank: 8Rank: 8

积分37554
发消息       
电梯直达
跳转到指定楼层楼主
发表于 2023-2-13 14:51:19 | 只看该作者 |只看大图 回帖奖励
本帖最后由 创世魂 于 2023-2-13 21:21 编辑



火山视窗服务器插件化开发研究。

现在火山并没有出服务器插件,比如火山java,火山php,火山nodejs 等服务器开发。
比如:php虽然已经快丢进垃圾桶了,但是有个很好的优点,服务器更新基本上直接丢进去php文件覆盖就可以了。可以非常方便实现动态更新。(夸张一下请勿较真,毕竟php依然坚挺)震惊php排名第十


火山没有这些服务器开发,只能依靠windows开发服务器,这就面临一个问题,如何动态更新。


毕竟exe程序想要更新必须关闭软件才能实现,关闭软件也就意味着服务器关闭。
不过还好有另外一条路,那就是通过dll热加载实现,业务逻辑放进dll。需要修改的时候就修改dll文件即可。
但是这又面临一个问题,如果只想某个业务模块停止,如何做?


其实也很简单,这就需要在软件服务器开发初期,对服务器所需要的功能模块拆分。
比如:注册dll、登陆dll、等等……如果注册dll需要维护就单独停止注册dll业务。


于是乎就有了下面的案例。
本案例客户端和服务器是基于HP_pack通讯协议实现,实现了服务器注册登陆业务分离,当某个模块需要维护的时候停止此模块即可。
因为案例写的比较简单,仅供演示参考,请勿用于生产环境。







下载例子后,注意将“登陆DLL”和“注册DLL”两个项目右键,进行编译发布版,然后运行主服务器才能使用。







服务器插件化开发后:
      优点:可以对模块进行动态更新,方便服务器维护升级。
      缺点:
            1、开发周期较长,对服务器程序逻辑思维有较高的要求。
            2、需要提前规划好各个模块业务。
            3、最大的缺点是,如果需要新增插件,需要停止整个服务器。因为插件逻辑是在“主服务器”源码中实现,新增插件必须对主服务器进行修改重新编译。
         
最后:至于
回复

使用道具 举报

9

主题

65

帖子

439

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
439
94#
发表于 2024-7-9 14:55:40 | 只看该作者
学习中
回复

使用道具 举报

9

主题

69

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
95#
发表于 2024-7-9 15:57:37 | 只看该作者
支持火山php
回复

使用道具 举报

6

主题

54

帖子

342

积分

中级会员

Rank: 3Rank: 3

积分
342
96#
发表于 2024-7-9 21:35:16 | 只看该作者
为什么要局限在部件或DLL上呢,模块也搞成进程不就行了,通讯用HP,主程序负责转发数据,业务程序负责处理数据,转发时可以验证下 业务程序是否连接,这样业务程序随时可停可换,需要新增业务只需要在主程序配置个转发规则即可.
回复

使用道具 举报

9

主题

130

帖子

767

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
767
97#
发表于 2024-7-10 20:22:24 | 只看该作者
学习一下。
回复

使用道具 举报

8

主题

404

帖子

2077

积分

核心用户

无敌天真火山掉渣天的小白

Rank: 9Rank: 9Rank: 9

积分
2077
98#
发表于 2024-7-10 20:58:28 | 只看该作者
学习一下思路
回复

使用道具 举报

3

主题

34

帖子

100

积分

注册会员

Rank: 2

积分
100
QQ
99#
发表于 2024-10-16 19:41:41 | 只看该作者
6666666666666666666666666666666666666666666
回复

使用道具 举报

5

主题

148

帖子

1636

积分

金牌会员

Rank: 6Rank: 6

积分
1636
100#
发表于 2024-10-26 22:27:11 | 只看该作者
看看怎么做的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-25 14:18 , Processed in 0.098534 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表