|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
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,有没有大哥研究过呀
----------------------------------------------
- |
作者: |
|
2023/3/29 16:16:12 |
1楼: |
改出来了,底层使用mormot,速度确实提升巨大,不知道有没有别的问题,感兴趣的可以拿去试试,替换附件中的单元就可以
----------------------------------------------
-
|
作者: |
|
2023/3/29 17:03:20 |
2楼: |
TIdHTTPWebBrokerBridge是datasnap的核心组件,怎么替换datasnap中的TIdHTTPWebBrokerBridge呢?如果能让datasnap用上mormot,那将是革命性的飞跃。
----------------------------------------------
-
|
作者: |
|
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的功能的,我是这么理解的
----------------------------------------------
-
|
作者: |
|
2023/3/29 18:00:13 |
4楼: |
改动来源于c5soft大佬的帖子,抄的http://bbs.2ccc.com/topic.asp?topicid=548153
----------------------------------------------
-
|
作者: |
|
2023/3/29 21:04:03 |
5楼: |
留个标记
----------------------------------------------
-
|
作者: |
|
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下将是第一牛逼的中间件。
----------------------------------------------
-
|
作者: |
|
2023/3/30 13:58:56 |
7楼: |
datasnap也可以替换,但是还需要更多的工作,我技术不够,完善不了,有缺陷,大佬可以试试。我自己测试的话,用mormot替换之后的request少了些参数,很多参数空了,要完美转换到webmodule中处理的话还需要完善
此帖子包含附件:
大小:94.7K |
----------------------------------------------
-
|
|