首先,打开M2Mqtt这个项目,打开MqttClient这个类,修改KeepAliveThread()这个线程方法,将this.keepAliveEvent.WaitOne(wait)改为this.keepAliveEvent.WaitOne(1000),这是要求等待时间从原来的60000改为1000,也就是1分钟改为1秒钟。修改注释掉if (delta >= this.keepAlivePeriod)这个语句,包括块else里的内容,一起注释掉,这个方法下面,加上this.Ping()这个是保证在不能保证时间是否超时之前,强行去执行Ping校验,通过校验结果判断是否关闭Mqtt。
第二,在外部调用时,在M2Mqtt连接成功时,开启一个线程,循环监控当前连接状态,如果连接断开,重新连接,这个时候,一定要记住当前连接的Clientid、user、password、订阅主题和发布主题等信息,以免不能够及时连接后,接收后续的消息。因为在mqtt判断ping连接断开后,mqtt内部会自动断开连接,所以这个时候,我们不用手动去断开连接,但重连时,mqtt会自动搜索当前的clientid,所以这个时间有些长,而且第一次时会抛出错误,第二次连接时,才会成功,这个具体机制没有研究
DBC路径设置错误 没有设置好打开控制面板,打开BDE Administrator‘. 点击 ‘Object‘, ‘New‘.选择STANDARD点击OK.在左面的面版你可以看到standard1,改名为HeroDB ,在右边的面版如下
Type STANDARD
DEFAULT DRIVER PARADOX
ENABLE BCD FALSE
PATH (这里没设定之前是空白的)
修改为(点右边有[...]的按键)
Type STANDARD
DEFAULT DRIVER PARADOX
ENABLE BCD FALSE
PATH D:\mirserver\mud2DB(这个是通过下拉菜单选的,不是要你自己输入进去)
在左边的面版右键点击HeroDB,然后点关闭选择‘apply‘。
具体步骤:1.首先确认数据库是不是正常启动了。
2.如果是第一次安装,你的 *** 作系统是什么?vista和win7装sql2000不一定能装上,需要2005,而且如果是win7家庭版很可能出现数据库和软件连不上。
3.如果是xp,以前是不是装过数据库后来卸载了,那么卸掉sql清除干净注册表,重新安装sql,最好用完整版,不要使用msde。
4.如果是用了一段时间,很可能是杀毒软件误杀数据库文件,卸掉杀毒软件,在管理里面启动下数据库,看能否启动,如果还能启动。再启动速达看能否连接上。
5.如果数据库已经无法启动,将数据作出备份,重装数据库吧。
6.如果是本机连接没问题,其他连不上的话,关闭服务器和客户端window自带防火墙,数据库打sp4补丁,开启guest用户。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)