各位,小弟开发一个通讯程序,多个终端(类似PDA)连接到我的VB服务端程序,采用一问一答的方式,发现在几个终端恰好同时进行收发数据的时候,只有一个SOCKET被回答,其他终端都不能正常接收到数据,但是这些数据会在下次被终端收到.如果这些终端收发数据的时候有时间差,那么就不会发生这个问题.服务器端我用SOCKET数组,一个SOCKET做监听.我一直在想是不是线程控制的问题,但我用一个VB程序模拟终端,收发速度很快也不会发生问题.
我又想是不是终端的问题,但用终端连接C#写的程序就没问题.
所以我头大,希望大虾指点迷津.贴部分SERVER代码:Private Sub srSocket_Close(Index As Integer)
StatusBar1.SimpleText = "客户终止对话!"
srSocket(Index).Close
End SubPrivate Sub srSocket_ConnectionRequest(Index As Integer, ByVal requestID As Long)
nSocket = nSocket + 1
Load srSocket(nSocket)
srSocket(nSocket).Accept requestID
StatusBar1.SimpleText = "有客户请求,建立连接。"
End SubPrivate Sub srSocket_DataArrival(Index As Integer, ByVal bytesTotal As Long)
'//代码片段
'//...
End Sub