Delphi 服务器的MQTT服务器故障周期';s客户端(在同一应用程序上)
我正在使用Pascal和Delphy XE2开发一个MQTT服务器应用程序,用于连接其他应用程序,其中包含MQTT客户端和一个Android应用程序,该应用程序可以接收信息并发送recept Ack。对于一个良好的使用,我需要一个良好的保留 在服务器应用程序上,我制作了一个MQTT客户端,用于跟踪系统的活动并检查消息的良好传输 这个应用程序很好,没有内存泄漏(用FastMM验证),所有功能都正常(我已经检查了一切…)。但我不明白,在几天内,所有的工作都很好,过了一会儿,我的服务器就停下来听客户机的声音 我可以销毁客户端和服务器的对象,重新创建和重新连接,没有任何东西可以修复应用程序,我必须关闭并打开服务器的新进程 在网上搜索之后,我没有发现任何关于这种失败循环的信息 确切地说,以下行为总是一样的:Delphi 服务器的MQTT服务器故障周期';s客户端(在同一应用程序上),delphi,wireshark,mqtt,Delphi,Wireshark,Mqtt,我正在使用Pascal和Delphy XE2开发一个MQTT服务器应用程序,用于连接其他应用程序,其中包含MQTT客户端和一个Android应用程序,该应用程序可以接收信息并发送recept Ack。对于一个良好的使用,我需要一个良好的保留 在服务器应用程序上,我制作了一个MQTT客户端,用于跟踪系统的活动并检查消息的良好传输 这个应用程序很好,没有内存泄漏(用FastMM验证),所有功能都正常(我已经检查了一切…)。但我不明白,在几天内,所有的工作都很好,过了一会儿,我的服务器就停下来听客户机
TTClientComp.AutoSubscribe := false;
TTClientComp.Broker := false;
TTClientComp.Clean := TRUE;
TTClientComp.Host := 'localhost';
TTClientComp.KeepAlive := 10;
TTClientComp.LocalBounce := false;
TTClientComp.MaxRetries := 8;
TTClientComp.Port := 1883;
TTClientComp.RetryTime := 60;
TTClientComp.Tag := 0;
TTClientComp.ClientID:='ClServ';
配置服务器
TTServeurComp.Port := 1883;
TTServeurComp.RetryTime := 60;
TTServeurComp.MaxRetries := 4;
TTServeurComp.Tag := 0;
TTServeurComp.LocalBounce := false;
如果有人能帮我,不客气
对不起,我的英语不好,我正在训练我,让我变得更好;)
谢谢你的阅读和时间
/////////////////////////
编辑com::
(见WireShark)(37.124、139.1、37.248为客户端,175为服务器)
此消息的后续内容周期性地出现3分钟7秒,并且与我的错误发生在同一时刻。我通常不会用那个逻辑,如果有人能快速地解释我,他会很酷,因为我不知道什么是,例如,“tapeware”(挂件)
讨论正常//
37.175>37.248 Ack ibm mqisdp>57080
139.1>37.175 Psh,Ack 50562>ibm mqisdp
37.175>139.1 Psh,确认ibm mqisdp>50562
137.1>37.175 Ack 50562>ibm mqisdp
37.124>37.175 Psh,Ack tapeware>ibm mqisdp
37.175>37.124 Ack ibm mqisdp>tapeware
臭虫//
37.248>37.175 Fin,Ack57080>ibm mqisdp
37.175>37.248 Ack ibm mqisdp>57080
37.175>37.248 Fin,确认ibm mqisdp>57080
37.248>37.175 Ack 57080>ibm mqisdp
37.248>37.175 Syn59022>ibm mqisdp
37.175>37.248 Rst,确认ibm mqisdp>59022
/!\第一个客户端现在被服务器应用程序断开了连接(它是安卓手机或平板电脑)
37.175>37.124 Fin,Ack ibm mqisdp>tapeware
37.124>37.175 Ack tapeware>ibm mqisdp
37.124>37.175 Fin,Ack tapeware>ibm mqisdp
37.175>37.124 Ack ibm mqisdp>tapeware
37.175>37.124 Fin,确认ibm mqisdp>crinis hb
37.124>37.175 Ack crinis hb>ibm mqisdp
37.124>37.175 Fin,Ack crinis hb>ibm mqisdp
37.175>37.124 Ack ibm mqisdp>crinis hb
37.175>37.124 Fin,确认ibm mqisdp>epl slp
37.124>37.175 Ack epl slp>ibm mqisdp
37.124>37.175 Fin,确认epl slp>ibm mqisdp
37.175>37.124 Ack ibm mqisdp>epl slp
37.124>37.175同步rnm>ibm mqisdp
37.175>37.124 Rst,确认ibm mqisdp>rnm
/!\在这里,我认为其他客户端开始断开连接,但我有一点清理,因为只有一个客户端
37.124>37.175同步rnm>ibm mqisdp
37.175>37.124 Rst,确认ibm mqisdp>rnm
37.124>37.175同步rnm>ibm mqisdp
37.175>37.124 Rst,确认ibm mqisdp>rnm
37.124>37.175 Synv-one-spp>ibm mqisdp
37.175>37.124 Rst,确认ibm mqisdp>v-one-spp
37.124>37.175 Syn v-one-spp>ibm mqisdp
37.175>37.124 Rst,确认ibm mqisdp>v-one-spp
37.124>37.175 Syn一个pcp>ibm mqisdp
37.175>37.124 Rst,Ack ibm mqisdp>一个pcp
37.124>37.175 Synv-one-spp>ibm mqisdp
37.175>37.124 Rst,确认ibm mqisdp>v-one-spp
37.124>37.175 Syn一个pcp>ibm mqisdp
37.175>37.124 Rst,Ack ibm mqisdp>一个pcp
37.124>37.175同步pcp>ibm mqisdp
37.175>37.124 Rst,Ack ibm mqisdp>一个pcp
37.124>37.175 Syn项目>ibm mqisdp
37.175>37.124 Rst,确认ibm mqisdp>项目
37.124>37.175同步项>ibm mqisdp
37.175>37.124 Rst,确认ibm mqisdp>项目
37.124>37.175同步项>ibm mqisdp
37.175>37.124 Rst,确认ibm mqisdp>项目
37.124>37.175同步
37.175>37.124 Rst,确认ibm mqisdp>spw_dnspreload
37.124>37.175同步spw_dnspreload>ibm mqisdp
37.175>37.124 Rst,确认ibm mqisdp>spw_dnspreload
37.124>37.175 Synqtms引导程序>ibm mqisdp
37.175>37.124 Rst,确认ibm mqisdp>qtms引导
37.124>37.175 Syn