阅读:17986回复:7
tiptop中如何完成即时通讯
TIPTOP中为了快速接受对方发送的消息,除了使用ON IDLE去定时刷新还有没有其他的方法。
下面来看FGL提供的两个函数: base.MesageServer.connect() 作用:连接上SERVER的UDP服务器,众所周知,UPD协议是非闭塞协议,不像TCP协议那样点对点, 通常使用在局域网内发布广播。使用次函数讲默认连接到SERVER UDP GROUP ,端口默认:6600(不可修改) IP地址:224.0.1.1,端口和IP都不可修改。 base.MessageServer.send(keyname STRING) 作用:在网络内发布一个广播,此时只能发送一个按键信息(F1-F12),不可广播其他的文本信息, 当在4GL程式任何地方调用此程式,都将在网络内发布一个'KEY'的UDP消息,任何处于网络内的GDC客户端 都将接受到这个消息,只要处理这个消息即可达到即使响应的功能 下面是一个例子: MAIN CALL base.MessageServer.connect() MENU "test" COMMAND "send F1" CALL base.MessageServer.send("f1") ON KEY (F1) DISPLAY "接受信息为F1" COMMAND "quit" EXIT MENU END MENU END MAIN 说明: 使用 base.MessageServer.send("f1") 发送一个广播 使用 ON KEY 去接受这个信息,只要处于网络中的任何电脑只要在 PIUNT ,DISPLAY DIALOG 等块中 存在ON KEY 段,都将接受到这个信息,接受到信息后,即可去做处理。那么就达到了即时通讯的效果 楼主有按照这个流程制作了一块4GL聊天程序。 |
|
沙发#
发布于:2016-11-12 08:33
不错 不错~~
|
|
板凳#
发布于:2016-11-14 22:25
很好的想法与工具
|
|
地板#
发布于:2017-01-04 17:25
很好哟
|
|
4楼#
发布于:2017-01-04 18:09
开发一个聊天工具出来呗,最好能带表情的~~
|
|
5楼#
发布于:2017-01-11 18:36
楼主可否发份源码 我有点感兴趣呢
|
|
6楼#
发布于:2017-03-07 11:54
啪啪啪啪啪啪啪
|
|
7楼#
发布于:2017-03-09 10:12
顶顶顶顶
|
|