DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: jsuguo
今日帖子: 29
在线用户: 11
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 yangyachao (常安宁) ▲▲△△△ -
普通会员
2023/3/28 15:51:13
标题:
请教TIdHTTPWebBrokerBridge这玩意怎么替换成mormot 浏览:857
加入我的收藏
楼主: github上看到的horse项目,很喜欢他的服务风格,如下:
uses Horse;
begin
  THorse.Get('/ping',
    procedure(Req: THorseRequest; Res: THorseResponse)
    begin
      Res.Send('pong');
    end);

  THorse.Listen(9000);
end.
但是Win下他的底层是用的TIdHTTPWebBrokerBridge这个玩意,怎么能比较简单,改动较小的的替换成mormot的THttpApiWebSocketServer,有没有大哥研究过呀
----------------------------------------------
-
作者:
男 yangyachao (常安宁) ▲▲△△△ -
普通会员
2023/3/29 16:16:12
1楼: 改出来了,底层使用mormot,速度确实提升巨大,不知道有没有别的问题,感兴趣的可以拿去试试,替换附件中的单元就可以
此帖子包含附件:yangyachao_2023329161612.txt 大小:8.9K
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/29 17:03:20
2楼: TIdHTTPWebBrokerBridge是datasnap的核心组件,怎么替换datasnap中的TIdHTTPWebBrokerBridge呢?如果能让datasnap用上mormot,那将是革命性的飞跃。
----------------------------------------------
-
作者:
男 yangyachao (常安宁) ▲▲△△△ -
普通会员
2023/3/29 17:55:46
3楼: function WebBrokerDispatch(const AEnv: TSynWebEnv): Boolean;
var
  HTTPRequest: TSynWebRequest;
  HTTPResponse: TSynWebResponse;
begin
  HTTPRequest := TSynWebRequest.Create(AEnv);
  try
    HTTPResponse := TSynWebResponse.Create(HTTPRequest);
    try
      Result := THorseWebRequestHandler(FReqHandler).HandleRequest(HTTPRequest,
        HTTPResponse);
    finally
      freeandnil(HTTPResponse);
    end;
  finally
    freeandnil(HTTPRequest);
  end;
end;
这个函数能将mormot的请求转到WebModule中,mormot就是用这个东西来代替TIdHTTPWebBrokerBridge的功能的,我是这么理解的
----------------------------------------------
-
作者:
男 yangyachao (常安宁) ▲▲△△△ -
普通会员
2023/3/29 18:00:13
4楼: 改动来源于c5soft大佬的帖子,抄的http://bbs.2ccc.com/topic.asp?topicid=548153
----------------------------------------------
-
作者:
男 newsxy (呼呼) ★☆☆☆☆ -
盒子活跃会员
2023/3/29 21:04:03
5楼: 留个标记
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/30 12:46:55
6楼: 我曾经参与过http://bbs.2ccc.com/topic.asp?topicid=548153这个贴子,但后来感觉datasnap不能跨平台,不如用RTC,RTC可以工作在linux arm/linux loongarch上面。
datasnap是一个对WebBroker/indy技术进行了高级包装的现代化组件,功能、易用性是rtc无法比拟的,如果datasnap能够在底层用mORMot替代indy,则datasnap在windows下将是第一牛逼的中间件。
----------------------------------------------
-
作者:
男 yangyachao (常安宁) ▲▲△△△ -
普通会员
2023/3/30 13:58:56
7楼: datasnap也可以替换,但是还需要更多的工作,我技术不够,完善不了,有缺陷,大佬可以试试。我自己测试的话,用mormot替换之后的request少了些参数,很多参数空了,要完美转换到webmodule中处理的话还需要完善
此帖子包含附件:
PNG 图像
大小:94.7K
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行85.9375毫秒 RSS