难道CSDN上没人会这个问题了吗? 我用IdUDPClient和IdUDPServer编写网络通信程序,为什么出现延迟现象?我的设计思路是在客户段发出消息后,服务器端对数据库进行操作,然后将结果返回客户端。结果出现我点击4次发送按钮后,才得到回应消息,此时对数据库已经进行了两次操作。该怎么解决?还有如何实现在UDPClient的Timeout时间后提示客户端不能连接服务器,如何实现?是不是用相关事件? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵,你可以设置一个timer吗,在一定时间内没有返回信息再提示超时呀。至于延迟现象,你可以点击发送完了以后把按钮的enabled设为false吗?其实延迟现象是很正常的,如你的网卡比较慢,或网络不畅通等等。 不可能,你最好在你的服务器和客户段分别用一个Udapclient和UdpServer,一个管发,一个管收,用两个端口,不用让udpServer收到消息后然后又让它自己返回一个消息,这样当然很慢!客户端的Udpclient对应服务器端的Udpserver,客户端的UdpServer对应服务器端的UdpClient这样就肯定没有问题了。 好像winsock中的select函数是应该能在达到你的要求,可以设置timeout的时间的IdUDPClient不会没有封装吧???select(int nfds, fdset readfds, fdset writefds, fdset exceptfds, timeval timeout)可以参考:http://www.gamedev.net/reference/articles/article1494.asp CSDN 上肯定没人会这个问题了。谁说的?不妥。 那不应该是udp的问题,是你写的程序的问题,我以前做过象你这样的程序,很快的! 前面的问题,我已经解决,现在需要大家讨论解决的是:如何实现在UDPClient的Timeout时间后提示客户端不能连接服务器,如何实现?是不是用相关事件?ClientUDP中的OnStatus的详细用法,大家说说 问个几何问题。。 v.28 打印的问题 哪里有下载TRZFileListBox控件 flash 求建议:“工作半年了,觉得用本科生的身份混下去,前途不会太好,打算考研!”顺便散分。 我想在界面的做一个循环字体流动的效果(问题解决加到50分) RichEdit简单问题 字符转成字节 Windows高手帮忙解决一下,分不多,100,不够再加! 请教!如何为一个系统托盘图标添加一个鼠标左键单击和双击两个事件!我做好的是用右键打开的程序! delphi中有像Jbuilder中的LayoutManager一样的控件吗? 急!急!急!
至于延迟现象,你可以点击发送完了以后把按钮的enabled设为false吗?
其实延迟现象是很正常的,如你的网卡比较慢,或网络不畅通等等。
IdUDPClient不会没有封装吧???select(int nfds, fdset readfds, fdset writefds, fdset exceptfds, timeval timeout)可以参考:
http://www.gamedev.net/reference/articles/article1494.asp
如何实现在UDPClient的Timeout时间后提示客户端不能连接服务器,如何实现?是不是用相关事件?
ClientUDP中的OnStatus的详细用法,大家说说