各位大侠: 我刚开始学WINSOCK在做一个一点到多点的网络程序的时候(一个服务端对多个客户端)遇到一些问题,请教各位高手指教,谢谢。源码如下:'服务器端
Private Sub Form_Load()
IntMax = 1
Load ServerWsk(IntMax)
ServerWsk(IntMax).LocalPort = 1001
ServerWsk(IntMax).Listen
End SubPrivate Sub ServerWsk_ConnectionRequest(Index As Integer, ByVal requestID As Long)
If ServerWsk(Index).State <> sckClosed Then ServerWsk(Index).Close
ServerWsk(Index).Accept requestID
IntMax = IntMax + 1
Load ServerWsk(IntMax)
ServerWsk(IntMax).LocalPort = 1001
ServerWsk(IntMax).Listen
End Sub'客户端
Private Sub Form_Load()
ClientWsk.RemoteHost = "192.168.255.4"
ClientWsk.RemotePort = 1001
ClientWsk.LocalPort = 0
ClientWsk.Connect
End SubPrivate Sub ClientWsk_Connect()
MsgBox "成功联接"
End Sub说明:ServerWsk和ClientWsk为WinSock控件问题:
1.我在本机测试时为什么连接不稳定,有时候能够连接上三个客户端,有时候能连接两个或都更少?有什么解决办法吗?还是因为在本机会这样在网络上不会?
2.是不是因为使用了相同的端口号?因为客户端不确定性,如果使用动态的端口号客户端怎么样取服务器的相应端口?
请各位高手指点,高分相送,在线等待!!!
Private Sub ServerWsk_ConnectionRequest(Index As Integer, ByVal requestID As Long)
IntMax = IntMax + 1
Load ServerWsk(IntMax)
If ServerWsk(IntMax).State <> sckClosed Then ServerWsk(IntMax).Close
ServerWsk(IntMax).Accept requestID
' ServerWsk(IntMax).LocalPort = 1001
End Sub
一般做这程序的时候,都是一个专门listen
然后用然的winsock去accept.
上面的程序有错吗?在哪儿??
一个winsock和一个winsock数组
winsock专门侦听accept的时候就用数组来。
可以连很多的。