老是客户端连接出错为什么啊!
'服务器代码
Public CurNumber As Integer
Public MaxNumber As IntegerPrivate Sub Form_Load()
CurNumber = 0
MaxNumber = 10
'[sckListen]控件侦听网络
sckListen.LocalPort = 8888
sckListen.ListenMsgBox sckListen.State
End Sub
Private Sub sckListen_ConnectionRequest(ByVal requestID As Long)
MsgBox "fff"
sckServer.Accept requestID '应答连接请求
MsgBox requestID
Dim i As Long
If CurNumber < MaxNumber Then 'MaxNumber为最大连接数,CurNumber为当前连接数
For i = 1 To CurNumber
If sckServer(i).State = 0 Then '判断是否有空闲Winsock控件
Exit For
End If
Next i
If i = CurNumber Then
CurNumber = CurNumber + 1
i = CurNumber
End If
Load sckServer(i) '动态加载Winsock控件
sckServer(i).Accept requestID
Exit Sub
End If
sckBusy.Close
sckBusy.Accept requestIDEnd SubPrivate Sub sckServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)Dim RecStr As String
sckServer(Index).GetData RecStr
Print RecStrEnd Sub
'客户端代码Private Sub Command2_Click()
Dim SendStr As String
SendStr = "连接成功!" & Text2.Text
Winsock1.SendData SendStr '传送数据
(总上面是这句出错,不知道为什么原因)服务器以监听了可为什么还是不行啊?End SubPrivate Sub Form_Load()Winsock1.Protocol = sckTCPProtocol '设置协议为TCP方式'IP地址"127.0.0.1"代表本机,与本机的实际地址无关
Winsock1.RemoteHost = Text1.Text'设置远程主机接口号,该值必须与设置远程主机服务器程序的接口号一致
Winsock1.RemotePort = 8888
If Winsock1.State = 0 Then
Winsock1.Connect '申请连接
MsgBox Winsock1.State
End If
End Sub
'服务器代码
Public CurNumber As Integer
Public MaxNumber As IntegerPrivate Sub Form_Load()
CurNumber = 0
MaxNumber = 10
'[sckListen]控件侦听网络
sckListen.LocalPort = 8888
sckListen.ListenMsgBox sckListen.State
End Sub
Private Sub sckListen_ConnectionRequest(ByVal requestID As Long)
MsgBox "fff"
sckServer.Accept requestID '应答连接请求
MsgBox requestID
Dim i As Long
If CurNumber < MaxNumber Then 'MaxNumber为最大连接数,CurNumber为当前连接数
For i = 1 To CurNumber
If sckServer(i).State = 0 Then '判断是否有空闲Winsock控件
Exit For
End If
Next i
If i = CurNumber Then
CurNumber = CurNumber + 1
i = CurNumber
End If
Load sckServer(i) '动态加载Winsock控件
sckServer(i).Accept requestID
Exit Sub
End If
sckBusy.Close
sckBusy.Accept requestIDEnd SubPrivate Sub sckServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)Dim RecStr As String
sckServer(Index).GetData RecStr
Print RecStrEnd Sub
'客户端代码Private Sub Command2_Click()
Dim SendStr As String
SendStr = "连接成功!" & Text2.Text
Winsock1.SendData SendStr '传送数据
(总上面是这句出错,不知道为什么原因)服务器以监听了可为什么还是不行啊?End SubPrivate Sub Form_Load()Winsock1.Protocol = sckTCPProtocol '设置协议为TCP方式'IP地址"127.0.0.1"代表本机,与本机的实际地址无关
Winsock1.RemoteHost = Text1.Text'设置远程主机接口号,该值必须与设置远程主机服务器程序的接口号一致
Winsock1.RemotePort = 8888
If Winsock1.State = 0 Then
Winsock1.Connect '申请连接
MsgBox Winsock1.State
End If
End Sub
sckServer.Accept requestID '应答连接请求
sckServer(i).Accept requestID
Option Explicit
Public CurNumber As Integer
Public MaxNumber As IntegerPrivate Sub Form_Load()
CurNumber = 0
MaxNumber = 10
'[sckListen]控件侦听网络
sckListen.LocalPort = 8888
sckListen.ListenMsgBox sckListen.State
End Sub
Private Sub sckListen_ConnectionRequest(ByVal requestID As Long)Dim i As Long
If CurNumber < MaxNumber Then 'MaxNumber为最大连接数,CurNumber为当前连接数
For i = 1 To CurNumber
If sckServer(i).State = 0 Then '判断是否有空闲Winsock控件
Exit For
End If
Next i
If i = CurNumber Then
CurNumber = CurNumber + 1
i = CurNumber
End If
Load sckServer(i) '动态加载Winsock控件
sckServer(i).Accept requestID
Exit Sub
End If
sckBusy.Close
sckBusy.Accept requestIDEnd SubPrivate Sub sckServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)Dim RecStr As String
sckServer(Index).GetData RecStr
Print RecStrEnd Sub客记端
Option ExplicitPrivate Sub Command1_Click()
MsgBox Winsock1.State
End SubPrivate Sub Command2_Click()
Dim SendStr As String
SendStr = "连接成功!" & Text2.Text
Winsock1.SendData SendStr '传送数据
End SubPrivate Sub Form_Load()Winsock1.Protocol = sckTCPProtocol '设置协议为TCP方式'IP地址"127.0.0.1"代表本机,与本机的实际地址无关
Winsock1.RemoteHost = Text1.Text'设置远程主机接口号,该值必须与设置远程主机服务器程序的接口号一致
Winsock1.RemotePort = 8888
If Winsock1.State = 0 Then
Winsock1.Connect '申请连接
MsgBox Winsock1.State
End If
End Sub
Next i
'全部循环结束后 i > CurNumber,下面的条件如何满足!
'你至少调试一下,很容易发现两个客户请求的 i 是一样的!
If i = CurNumber Then