如何进行无服务器的广播式通信? 现在客户要求,在局域网内任何一台电脑上进行向局域网内其它在线的ERP客户端发布一个信息。这种效果如何实现呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用indy控件,TIdUDPClient,TIdUDPServer,两个port属性设置成一个值,TIdUDPClient的host属性设置成'255.255.255.255',在TIdUDPServer的OnUDPRead中添加接受数据的代码,你添加这个事件之后可能会提示TIdSocketHandle和TBytes找不到,你在uses里面加入IdSocketHandle,另外定义一个TBytes = array of Byte;可解决这个问题,这个是Indy的一个bug。之后调用TIdUDPClient的Broadcast函数,格式如下Broadcast(你要发送的内容,端口)这个端口号设置的值要跟TIdUDPServer的Port属性的值一样。这样就完事儿了,简单吧! 通过indy10来做比较方便一些。一些步骤:1、数据库用户表中建立一个存放IP的字段、一个状态字段2、建立一个存放不在线时保存的消息内容---以便登录时自动显示3、建立一个存放即时对话内容的表 --以备查**2、3也可以放在一个表中4、把消息内容分类,哪些用户需要接收哪种消息,实际情况不是所有用户都需要接收消息 分类后,在用户表中增加这些字段,以便设置消息接收权限。5、用户登录时把登录的那台电脑的IP记录在表中6、建立一个消息代理,专门用来接收和发送消息,这个消息代理随ERP运行自动运行。7、定义一个消息记录类型,用来记录消息的发送者、消息详情等信息,根据实际需要定义。8、ERP各需要发送消息的模块,通过向代理发送消息,由代理自动处理消息, 如果用户不在线,在保存到表 中。实时对话也记录到表中,按实际需要进行备份和清理这些记录。9、当前用户的ERP退出时,发消息给消息代理,让消息代理随ERP一起退出。10、为了方便维护,消息代理也可以发特殊内容,强行关闭ERP系统。这个功能需要通过服务器端发消息 给消息代理,让消息代理强行关闭ERP系统。 目前我就是这样做的,效果还行,几个系统共用一个消息代理,只要权限设置得当,各用户都能 正确地收到消息。在消息代理上,也设置了好友列表,可以同时与N个用户实时一对一对话。 关健是把消息代理做好就行。 以上仅参考。 谨听高手的方法。 如果不做消息代理,在ERP中也可以实现消息代理的功能,只不过如果系统多,那又得在其他系统中做相似的功能,有些累,我以前就是分别在各系统中做了相似的功能,后来改成了消息代理,方便了很多。如果再考虑做个服务端,那么对于维护用户可以起到很大的帮助。强行关闭某一个用户的ERP就可以通过消息来实现。 无服务器?erp不是有一个服务器的吗,利用它就行了 我的意思:UDP向外送一条信息, 局域网内多台电脑都能收到这条信息. 这种方式会不会被局域网内路由器给拦截掉啊.如果用ERP服务器的数据库中转的话, 100台电脑都会连接每隔3秒扫描服务器一次.何必呢. 用数据库的目的是为了让消息定向发送,如果楼主不想定向发送,那就是所有的电脑都接收,不用数据库即可。但实际应用中,某条消息只是某些用户需要接收,而其他用户是不用接收的。再说100台电脑也不会每隔3秒去扫描服务器的,只是楼主没想到办法。UDP发送和接收消息是不用扫描服务器的,如果不想把消息记录在案备查,那更不会去访问数据库的。UDP一般不会被路由拦截。仅供参考。 SQL函数问题 以一个字符来拆分字符串的问题 谁进来帮帮我把 厚着脸皮,照惯例散分 刚学习图形处理,有几个问题请教各位? 各位石家庄的朋友注意了,紧急求助!!! 简单问题 大消息,关于比尔·盖茨 我用Random(10)取得一个随机数,如何将它完整的转为字符型呢? 一个简单的问题?有关TNMUDP 请问怎么设置所有DBEdit只读,ADOTable+DBEdit delphi怎样设置excel整个sheet可以自动换行,包括没有文字的行和列
这样就完事儿了,简单吧!
一些步骤:
1、数据库用户表中建立一个存放IP的字段、一个状态字段
2、建立一个存放不在线时保存的消息内容---以便登录时自动显示
3、建立一个存放即时对话内容的表 --以备查
**2、3也可以放在一个表中
4、把消息内容分类,哪些用户需要接收哪种消息,实际情况不是所有用户都需要接收消息
分类后,在用户表中增加这些字段,以便设置消息接收权限。
5、用户登录时把登录的那台电脑的IP记录在表中
6、建立一个消息代理,专门用来接收和发送消息,这个消息代理随ERP运行自动运行。
7、定义一个消息记录类型,用来记录消息的发送者、消息详情等信息,根据实际需要定义。
8、ERP各需要发送消息的模块,通过向代理发送消息,由代理自动处理消息,
如果用户不在线,在保存到表 中。实时对话也记录到表中,按实际需要进行备份和清理这些记录。
9、当前用户的ERP退出时,发消息给消息代理,让消息代理随ERP一起退出。
10、为了方便维护,消息代理也可以发特殊内容,强行关闭ERP系统。这个功能需要通过服务器端发消息
给消息代理,让消息代理强行关闭ERP系统。 目前我就是这样做的,效果还行,几个系统共用一个消息代理,只要权限设置得当,各用户都能
正确地收到消息。在消息代理上,也设置了好友列表,可以同时与N个用户实时一对一对话。 关健是把消息代理做好就行。 以上仅参考。 谨听高手的方法。
erp不是有一个服务器的吗,利用它就行了
如果用ERP服务器的数据库中转的话, 100台电脑都会连接每隔3秒扫描服务器一次.何必呢.