首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

UDP winsock控件使用发现的一个有关问题

2012-01-09 
UDP winsock控件使用发现的一个问题请教一下,我用vb sp6,用一个WINSOCK控件做UDP通信,PC机之间一对一或者

UDP winsock控件使用发现的一个问题
请教一下,我用vb sp6,用一个WINSOCK控件做UDP通信,PC机之间一对一或者一对多都能够正常通信,但是PC机与一个WINCE 下的用VC编写的程序进行UDP通信时,对方收到我的广播呼叫后应该自动回复我一个固定内容的应答报文.奇怪的是,对方只能在第一次我呼叫的时候自动回复我,当我再次呼叫时,他能接收到,但是我这边却没有得到DataArrival事件.但是他主动给我发的报文我都能得到.我每次呼叫的时候都重新写一遍remoteHost和remoteport,可还是不行.
后来我的解决办法是,我每次呼叫他的时候都close一下,然后再重新设置remoteHost和remoteport,发送呼叫报文,这样就没问题了/但是我有疑问,一是为什么会这样?二是我将来是要一对多UDP通信的,如果我close了,我怕此时刚好有别人给我发消息,我就丢报文了.大家有什么好的一对多的UDP方法吗?

[解决办法]
发送和接收都是需要时间的
可以用TIMER读取缓冲区,监视缓冲区是否有内容
短信猫带的示例就是那么做的

[解决办法]
奇怪的是,对方只能在第一次我呼叫的时候自动回复我,当我再次呼叫时,他能接收到,但是我这边却没有得到DataArrival事件.

问题不在于你触发了DataArrival事件了没,而在于对方收到你的呼叫后,进行应答了没?

[解决办法]
你可以试试动态加载winsock控件。

热点排行