TIPTOP中为了快速接受对方发送的消息,除了使用ON IDLE去定时刷新还有没有其他的方法。
下面来看FGL提供的两个函数:
base.MesageServer.connect()
作用:连接上SERVER的UDP服务器,众所周知,UPD协议是非闭塞协议,不像TCP协议那样点对点,
通常使用在局域网内发布广播。使用次函数讲默认连接到SERVER UDP GROUP ,端口默认:6600(不可修改)
IP地址:224.0.1.1,端口和IP都不可修改。
base.MessageServer.send("f1")作用:在网络内发布一个广播,此时只能发送一个按键信息(F1-F12),不可广播其他的文本信息,当在4GL程式任何地方调用此程式,都将在网络内发布一个'KEY'的UDP消息,任何处于网络内的GDC客户端都将接受到这个消息,只要处理这个消息即可达到即使响应的功能下面是一个例子:MAINCALL base.MessageServer.connect()MENU "test"COMMAND "send F1" CALL base.MessageServer.send("f1")ON KEY (F1) DISPLAY "接受信息为F1"COMMAND "quit" EXIT MENUEND MENUEND MAIN说明:使用 base.MessageServer.send("f1") 发送一个广播
使用 ON KEY 去接受这个信息,只要处于网络中的任何电脑只要在 PIUNT ,DISPLAY DIALOG 等块中
存在ON KEY 段,都将接受到这个信息,接受到信息后,即可去做处理。那么就达到了即时通讯的效果
楼主有按照这个流程制作了一块4GL聊天程序。