关于delphi中的消息传送问题 比如我有一个程序,A.EXE,用户新增一张单据保存到数据库,保存的时候,我想局域网内的正在使用A.EXE的用户都能收到通知,就类似QQ弹在桌面右下角的新闻一样,最土的方法是用TIMER循环实现,但是效果不好,我想问下,有没有谁能给我相关的例子的,对这方面的知识为0,局域网通信的, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要有个sever.exe保持与所有a.exe的连接,用socket连接,当其中一个a.exe执行完毕后,就提交更新指令,然后,由server.exe发布更新命令,于是,所有的a.exe都能得到命令更新.我以前写了个这方面的中间件程序,但是不是用delphi写的...道理就是这样的. 若你现有的程序是c/s的,那应该只能用类似不断的查询的方式来处理了,因为数据库没有callback的功能。如果是n-tier的方式,则看看你的n-tier架构是否支持callback.比如最新的delphi datasnap就有callback功能,由客户端向server注册callback方法,server再回叫此方法。 想其他用户发消息,socket,或者用indy的组件都可以 是C/S的,而且不是三层的,有没有哪位大大能给个DEMO 这个可以在客户端开个线程调数据库里面一个存储过程,然后在存储过程中写个死循环,这个循环只有发现有你的新增事件才返回。这样就在不影响性能的情况下解决这个问题。当然这个循环你得加点sleep的操作,要不然数据库就响应不了别的东西 我也是想用UDP广播消息,但是不会,你能给个DEMO么,或者教教我 用IDUDPClient和IDUPDServer,网上例子也不少 可以用INDY组件用UDPServer的OnUDPRead事件接收,记得要开启监听用UDPClient.SendBuffer发送。UDPClient发送的目标IP,为 XXX.XXX.XXX.255就可以在网段内广播 UDP的太不靠谱,还是用TCP/IP的吧,你要是三层的就好办,把TCPServer加在你的应用服务器程序,如果你直接就是A.exe+数据库的那种,就要另外建立一个TCPServer程序,专门来广播消息,你参考Indy的Demo就可以,改下它的广播代码,加个判断,如果IP是自己就不发消息给自己,建立完连接后可以通过AThread.Connection.Socket.Binding.PeerIP来得到客户端的IP,广播就是这些IP的列表做循环。 关于获取系统空闲时间的问题(高手请进) 很简单的问题:如何理解strpos这个函数?能否举个例题? 谁有用ADO连数据库的例子阿,给100分! DBGrid中如何自动为结果集增加行号? 調用DLL問 題 >>1000分寻RealMagic API 详细资料 怎么清空一个整数型的数组? 初始数据做好备份,到客户那里重新创建数据库,如何恢复初始数据呢 ★★★快来抢100分★★★:谁有chart1.AddSeries动态添加方法的例子,并附有几组数据绘成chart? Delphi!!!! 关于注册表的问题 一个函数在程序里执行的时候返回值不稳定,高手进,内详
如果是n-tier的方式,则看看你的n-tier架构是否支持callback.比如最新的delphi datasnap就有callback功能,由客户端向server注册callback方法,server再回叫此方法。
我也是想用UDP广播消息,但是不会,你能给个DEMO么,或者教教我
用UDPServer的OnUDPRead事件接收,记得要开启监听
用UDPClient.SendBuffer发送。
UDPClient发送的目标IP,为 XXX.XXX.XXX.255就可以在网段内广播
AThread.Connection.Socket.Binding.PeerIP来得到客户端的IP,广播就是这些IP的列表做循环。