甚么叫"就用一个新的winsock去accept",你用的是udp还是tcp
如果用新的,那localport怎么办?你在dataarrival事件中加doevents了吗?
如果用新的,那localport怎么办?你在dataarrival事件中加doevents了吗?
解决方案 »
- vb6.0怎么修改access数据库中指定位置的数据?
- 终于可以贴个稍微体面点的图了
- 我想自杀
- 使用以前看过的调用帮助文件的帖子,其中有一个小细节,实践的时候遇到了问题
- datareport问题(我在里面只画一个线条,其他什么也没有,datasource怎么设置)
- vb中有没有类似c++中“结构”的东东?一个api函数的参数是一个结构时怎么调用?
- 请问哪里有介绍winsock通信的文章,要详细。
- 高手過來看看,這個問題不好解決?
- 特别急 在等大侠恢复 A
- 如何在窗体最大化或正常化时其中的控件也相应的伸缩?给30分可以吗
- 如何把一个程序和它的数据文件合在一起(50分给你)
- 在vb6.0中,如何用代码设置"windows系统的当前默认打印机"的打印机纸张尺寸
1.我用的是一个控件数组,用第一个sock(0)去listen,如果有请求到来的话,就:
load sock(i) '也就是新产生一个sock,它的任务就是接受请求
再用sock(i)去 accept 本次请求2.经过调试,我发现在出现错误的时候跟本就不会进入dataarrival事件,因为这时client端的socket处于connecting状态,就更不用提发送数据了
出错的意思是该连接建立的是nonblock方式(异步),可是遇到阻塞。
而且我在有间隔的情况下去发送请求是没有问题的,所以与bind跟本是无关的。至于sock(i)的localhost是多少,根本是没有影响的,因为他不bind,而只是accept
我要多谢liyang对我的问题的关注,再次表示感谢,希望我们大家能在讨论互相得到提高
For I=1 to N
Winsock(index).SendData MyData
Sleep(100)
Next
可能会解决你的问题。
祝 成功
我想你既然用控件数组,那么所有的SOCK的LOCALPORT是一样的。在SOCK(0)侦听到连接请求后必须CLOSE以便让出端口,同样在其他SOCK(I)ACCEPT和GETDATA后也要CLOSE一下。