DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: haibei
今日帖子: 7
在线用户: 7
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 souledge (souledge) ★☆☆☆☆ -
普通会员
2023/9/18 12:06:02
标题:
Delphi Cross Socket 重大更新(2023.09.18) 浏览:1793
加入我的收藏
楼主: https://github.com/winddriver/Delphi-Cross-Socket

主要更新内容

2023.09.18
支持 FPC 3.3.1
支持 OpenSSL 3.x
新增 HTTP 客户端 ICrossHttpClient
新增 WebSocket 客户端 ICrossWebSocket
部分代码重构
一些小问题修正
----------------------------------------------
-
作者:
男 szlbz (秋风) ★☆☆☆☆ -
盒子活跃会员
2023/9/18 14:46:15
1楼:
----------------------------------------------
-
作者:
男 kwer (★★★★★) ★☆☆☆☆ -
普通会员
2023/9/18 15:06:30
2楼: 不知道是否支持 FPC 3.2.2
----------------------------------------------
==========-==========-==========-==========-==========
     多隆, 给我备一匹最快的马, 我有事要走先~~~
==========-==========-==========-==========-==========
作者:
男 szlbz (秋风) ★☆☆☆☆ -
盒子活跃会员
2023/9/18 15:32:39
3楼: @souledge lazarus 2.3.0 fpc 3.3.1 编译demo出错
----------------------------------------------
-
作者:
男 souledge (souledge) ★☆☆☆☆ -
普通会员
2023/9/18 16:19:28
4楼: FPC好像是从3.2.6才支持匿名函数,DCS中很多地方用到了匿名函数,所以建议至少用FPC 3.2.6以上的版本

楼上编译报错具体什么错误
----------------------------------------------
-
作者:
男 szlbz (秋风) ★☆☆☆☆ -
盒子活跃会员
2023/9/18 16:23:00
5楼: Net.SocketAPI.pas(635,6) Error: Identifier not found "TMarshaller"
Net.SocketAPI.pas(708,19) Error: Identifier not found "TPtrWrapper"
----------------------------------------------
-
作者:
男 szlbz (秋风) ★☆☆☆☆ -
盒子活跃会员
2023/9/18 16:24:08
6楼: fpc的demo都编译不了(lazarus 2.3.0 fpc 3.3.1)
----------------------------------------------
-
作者:
男 kwer (★★★★★) ★☆☆☆☆ -
普通会员
2023/9/18 16:46:50
7楼: @szlbz 一看就是编译器开关都没有理顺,,,看看是在哪个单元
----------------------------------------------
==========-==========-==========-==========-==========
     多隆, 给我备一匹最快的马, 我有事要走先~~~
==========-==========-==========-==========-==========
作者:
男 souledge (souledge) ★☆☆☆☆ -
普通会员
2023/9/18 16:54:48
7楼: 没道理啊,这两个都是rtl自带的类型,TMarshaller是SysUtils单元里定义的,TPtrWrapper是System单元里定义的,我感觉是你的FPC有点问题

建议用 fpcupdeluxe 在新目录重新生成一套 FPC + Lazarus 的环境试试
----------------------------------------------
-
作者:
男 souledge (souledge) ★☆☆☆☆ -
普通会员
2023/9/18 16:57:51
8楼: 另外顺带提一下,这次更新增加了一个Utils.Hash单元,该单元需要依赖CnVCL,CnVCL自行从GitHub上拉取吧
----------------------------------------------
-
作者:
男 abcjingtong (jingtong) ★☆☆☆☆ -
普通会员
2023/9/18 23:16:08
9楼: 太棒了,这是我用过的最好的http,socket,websocket控件
----------------------------------------------
18114532@qq.com
作者:
男 qewnja (伊亓) ★☆☆☆☆ -
普通会员
2023/9/19 14:50:54
10楼: @souledge
能不能搬运到网盘上?github.com打不开,感谢感谢
----------------------------------------------
-
作者:
男 dolang (dolang) ★☆☆☆☆ -
普通会员
2023/9/19 16:35:31
11楼: 太棒了,这是我用过的最好的http,socket,websocket控件
----------------------------------------------
-
作者:
男 looper (keyo) ★☆☆☆☆ -
盒子活跃会员
2023/9/19 18:00:29
12楼: 太棒了,这是我用过的最好的http,socket,websocket控件
----------------------------------------------
虽千万人吾往矣!
作者:
男 edwinyeah (Edwin) ★☆☆☆☆ -
盒子活跃会员
2023/9/19 18:05:54
13楼: 楼主威武!
----------------------------------------------
-
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2023/9/19 21:05:38
14楼: Commits on Sep 18, 2023
此帖子包含附件:keymark_202391921536.zip 大小:10.21M
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 bbnn38 (伟大的咸鱼) ▲▲▲▲▲ -
普通会员
2023/9/19 23:56:01
15楼: 留名做标识,好东西。
----------------------------------------------
-
作者:
男 souledge (souledge) ★☆☆☆☆ -
普通会员
2023/9/20 11:15:50
16楼: 目前发现开启ssl的情况,偶尔会出现 SSL_read error 1,也就是 SSL_ERROR_SSL

用 WebSocketServer + WebSocketClient 这两个 demo 测试就能偶尔出现

请有 ssl 开发经验的朋友也帮忙看看这个问题应该如何解决,希望大家能帮我一起完善DCS,感谢
----------------------------------------------
-
作者:
男 huangxing (gx) ★☆☆☆☆ -
盒子活跃会员
2023/9/20 13:25:55
17楼: 我们用delphi做HTTP server时,在生产中,用得最多的是,返回生产数据,就是从数据库里面查询后,返回json数组给查询方,但是几乎很少看到如何使用数据库返回的文章,在http server里面返回,是个多线程的过程,到底应该如何使用控件,如何使用数据库控件,也很少这方面的资料。光是返回几个文字,在生产上有什么用?
----------------------------------------------
-
作者:
男 yangyachao (常安宁) ▲△△△△ -
普通会员
2023/9/20 13:41:04
18楼: 能返回文字就能返回数据集数据,多线程使用数据库,保证每个线程有自己的独占连接基本上就没啥问题,怎么写怎么返回怎么组织数据集大家需求都不一样,demo意义不大
----------------------------------------------
-
作者:
男 dbcoder (dbcoder) ▲△△△△ -
普通会员
2023/9/20 13:41:38
18楼: 请教一下,如果用这个做大并发量的接收和下载文件服务器,是否可行?
----------------------------------------------
-
作者:
男 421 (421) ★☆☆☆☆ -
盒子活跃会员
2023/9/20 14:51:02
19楼: @huangxing (gx)
使用楼主的DCS,可以多线程处理的
1、接收到查询json后,给AHandled赋值True,把查询json里添加Connection.UID
2、在客户端的超时时间内交给在其他线程或者转发到接口处理
3、数据处理完成后通过UID查找到客户端使用Connection.Response.Json(data)返回就行了
----------------------------------------------
-
作者:
男 huangxing (gx) ★☆☆☆☆ -
盒子活跃会员
2023/9/20 15:00:22
20楼: 我们在生产上,使用httpserver,使用动态生成数据库连接,动态生成数据库控件,用FDConnection和FDQuery1控件,每次都create,感觉始终不是很稳定,运行一段时间后就会卡死,生成的数据库控件每次都free或者nil 了的,但是如果长时间运行,就会报错,而且不管用什么都捕捉不到这个错误,就是弹一个什么0000的错误,软件就停止运行了。也许是我的软件做得不是很好。
----------------------------------------------
-
作者:
男 huangxing (gx) ★☆☆☆☆ -
盒子活跃会员
2023/9/20 15:06:01
21楼: 我用http server控件,接收数据,我就是把数据先保存进一个字符串数组里面,然后再把这个数组的,数据,在一个timer里面保存进数据库,这样长时间运行,软件都会死掉。
比如在CommandGet时间中,来一条数据,就写:
          for I := 1 to 400 do
          begin
          if GetHisString[I]='' then
          begin
          GetHisString[I]:=ARequestInfo.Params.text;
          break;
          end;

          end;

这样,然后在timer里面保存一条数据,就让数组清空一条

如:
if GetHisString[I]=<>'' then
  begin
    保存进数据库;
     GetHisString[I]:='';
  end;

就这样的一个过程,一天下来,软件都会死掉,真的不知道怎么处理,关键你还捕捉不到它什么异常,就是软件不动了。停在哪里了。哪个timer也不触发了。
----------------------------------------------
-
作者:
男 421 (421) ★☆☆☆☆ -
盒子活跃会员
2023/9/20 15:21:20
21楼: 长时间运行出现问题内存泄漏可能性比较大,不想每次都创建释放可以使用数据连接池,简单的连接池可以使用坛子里另外一个大神的QDAC组件,里面有个QSimplePool,借助作者的例子很容易实现,处理了OnNewItem和OnFree,使用pop和push借和还
----------------------------------------------
-
作者:
男 421 (421) ★☆☆☆☆ -
盒子活跃会员
2023/9/20 15:26:12
22楼: @21楼
你们的生产环境数据量应该比较小,这样处理很慢的
这样处理软件死掉我猜原因是读写数据时候没锁定造成的
----------------------------------------------
-
作者:
男 cxg417 (cxg417) ★☆☆☆☆ -
盒子活跃会员
2023/9/20 15:34:29
23楼: 有没有使用说明文档?
----------------------------------------------
-
作者:
男 hnxxcxg (咏南中间件) ★☆☆☆☆ -
盒子活跃会员
2023/9/20 21:56:15
24楼: 使用最新的cross socket,delphi编译linux64程序报错,见附图。老版没有问题。
此帖子包含附件:
PNG 图像
大小:33.4K
----------------------------------------------
中间件QQ群: 92449782 博客: http://www.cnblogs.com/hnxxcxg/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2023/9/20 22:07:11
25楼: Commits on Sep 20, 2023
此帖子包含附件:keymark_20239202279.zip 大小:10.22M
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 wg961423 (麦子仲肥) ★☆☆☆☆ -
盒子活跃会员
2023/9/21 9:40:33
26楼: 编译Utils.Hash报少文件,看起来使用了CNVCL里的东东
----------------------------------------------
-
作者:
男 wr960204 (武稀松) ★☆☆☆☆ -
盒子活跃会员
2023/9/21 10:21:41
27楼: 顶一个,这个项目我做服务端一直在用。
----------------------------------------------
武稀松http://www.raysoftware.cn
作者:
男 souledge (souledge) ★☆☆☆☆ -
普通会员
2023/9/21 11:41:48
27楼: @hnxxcxg 抱歉,没有测试Delphi-Linux的编译,我这边Linux程序基本是用FPC编译的,已经修正提交了

@wg961423 Utils.Hash的确需要依赖CnVcl,前面我已经提过了,可以自己去GitHub拉取
----------------------------------------------
-
作者:
男 souledge (souledge) ★☆☆☆☆ -
普通会员
2023/9/21 11:43:57
28楼: @wr960204 武大是业内大牛,关于ssl的问题,能否帮忙参详参详?
----------------------------------------------
-
作者:
男 blueflag (昆了) ★☆☆☆☆ -
盒子活跃会员
2023/9/21 15:20:19
29楼: 能不能搞一个mqtt的server
----------------------------------------------
-
作者:
男 dolang (dolang) ★☆☆☆☆ -
普通会员
2023/9/25 8:46:37
30楼: httpclient不能连接自签名的服务器,可否添加一个忽略证书检查的属性了?
----------------------------------------------
-
作者:
男 lanhongcheng (lanhongcheng) ▲△△△△ -
普通会员
2023/9/25 9:50:08
32楼: 我升级到楼住的前几天发布的最新版本,编译所有demo 都报这个错误.目标系统是ubuntu 22.04 ,大哥们帮我分析分析下原因.我比较着急
此帖子包含附件:
JPEG 图像
大小:132.2K
----------------------------------------------
-
作者:
男 bdl1 (bdl1) ▲▲▲▲▲ -
普通会员
2023/9/25 10:29:55
33楼: 赞一个!
----------------------------------------------
-我的博客
作者:
男 jwj76 (禁卫) ▲△△△△ -
普通会员
2023/9/25 20:51:51
34楼: 32楼好像是没安装Linux支持一样。
----------------------------------------------
-
作者:
男 lanhongcheng (lanhongcheng) ▲△△△△ -
普通会员
2023/9/26 14:10:07
35楼: @jwj76  , 官方要求的那个zlib库ubuntu更新好了啊,这个更新版之前的那个最新版,我编译LINUX程序正常的啊
----------------------------------------------
-
作者:
男 lotsbug (lotsbug) ★☆☆☆☆ -
普通会员
2023/9/28 11:13:18
36楼: 相见恨晚,之前因为只支持openssl的1.0.1x版本,Mac上怎么都装不好低版本又找不到直接能用的dylib,只好在mac上面下载那个版本源码编译出.o文件来静态连接,还好照样运行稳定,而且不用多带dll不依赖mac环境,现在服务端开发都是用的这个组件,稳得一批,还可以跟Win和Mac的桌面端共用代码,爽得狠呐。
期待MQTT服务端和客户端支持。
----------------------------------------------
-
作者:
男 souledge (souledge) ★☆☆☆☆ -
普通会员
2023/9/28 12:02:19
37楼: MQTT倒是可以考虑,不过大致翻了下官方的协议文档,还是比较复杂,暂时没有那么多时间去搞,等以后有时间研究下

再次呼吁一下,大家一起帮忙解决下 openssl 部分不稳定的问题,目前通过 abs或bombardier 压测 HttpServer 发现会出现 SSL_read 错误,一旦该错误出现,本来已经握手完成的 ssl 居然会变回未握手状态,导致无法继续正常通讯
----------------------------------------------
-
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2023/9/28 14:25:08
38楼: Commits on Sep 27, 2023
此帖子包含附件:keymark_202392814255.zip 大小:10.22M
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 board4all (搬运) ▲▲▲▲▲ -
普通会员
2023/9/28 22:22:53
39楼: 是不是证书验证失败。如果关闭证书验证,还会出现SSL_read错误吗
----------------------------------------------
-
作者:
女 newzyt (QL) ★☆☆☆☆ -
盒子活跃会员
2023/9/29 23:59:48
40楼: 使用了几年很不错,但是最近的升级稳定性大幅下降,错误也多。不能稳定正常使用还是先退回老版本
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2023/9/30 4:09:53
41楼: 太棒了,这是我用过的最好的http,socket,websocket控件
----------------------------------------------
只有偏执狂才能生存!
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行125毫秒 RSS