看来小弟实在很笨,明明看到人家做出来,自己回家试了半天不行,到底为啥呢???
服务端:
Private Sub Command1_Click()
If Winsock1.State <> sckClosed Then Winsock1.Close
MsgBox "开始连接"
Winsock1.Bind
Winsock1.Listen
End Sub
--------------
Private Sub Form_Load()
Winsock1.LocalPort = "900"
End Sub
--------------------
Private Sub Text3_Change()
If Winsock1.State = sckConnected Then Winsock1.SendData Text3.Text
End Sub
--------------------
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept repuestid
End Sub
-----------------------------
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strdata As String
Winsock1.GetData strdata, vbString
Text2.Text = strdata
End Sub
----------------------------
客户端:
Private Sub Command1_Click()
If Winsock1.State <> sckClosed Then Winsock1.Close
MsgBox "等待连接"
Winsock1.Bind
Winsock1.Connect
Command1.Enabled = False
Command2.Enabled = True
End Sub
------------------------------
Private Sub Command2_Click()
Command1.Enabled = True
Command2.Enabled = False
Winsock1.Close
End Sub
------------------------------
Private Sub Text3_Change()
If Winsock1.State = sckConnected Then Winsock1.SendData Text3.Text
End Sub
--------------------------
Private Sub Winsock1_Connect()
MsgBox "连接正常!"
End Sub
--------------------------------
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim str As String
Winsock1.GetData str, vbString
Text2.Text = str
End Sub
运行后错误提示:
客户端的command1按钮第三行Winsock1.Connect错误"当前状态操作无效"
服务端:
Private Sub Command1_Click()
If Winsock1.State <> sckClosed Then Winsock1.Close
MsgBox "开始连接"
Winsock1.Bind
Winsock1.Listen
End Sub
--------------
Private Sub Form_Load()
Winsock1.LocalPort = "900"
End Sub
--------------------
Private Sub Text3_Change()
If Winsock1.State = sckConnected Then Winsock1.SendData Text3.Text
End Sub
--------------------
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept repuestid
End Sub
-----------------------------
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strdata As String
Winsock1.GetData strdata, vbString
Text2.Text = strdata
End Sub
----------------------------
客户端:
Private Sub Command1_Click()
If Winsock1.State <> sckClosed Then Winsock1.Close
MsgBox "等待连接"
Winsock1.Bind
Winsock1.Connect
Command1.Enabled = False
Command2.Enabled = True
End Sub
------------------------------
Private Sub Command2_Click()
Command1.Enabled = True
Command2.Enabled = False
Winsock1.Close
End Sub
------------------------------
Private Sub Text3_Change()
If Winsock1.State = sckConnected Then Winsock1.SendData Text3.Text
End Sub
--------------------------
Private Sub Winsock1_Connect()
MsgBox "连接正常!"
End Sub
--------------------------------
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim str As String
Winsock1.GetData str, vbString
Text2.Text = str
End Sub
运行后错误提示:
客户端的command1按钮第三行Winsock1.Connect错误"当前状态操作无效"
Error Num:10048
Description: 地址正在使用(服务器端的侦听在close事件中发现已经掉线后,设置了重新侦听,我调试也是在正常侦听中)
2。先启动服务器 运行 Command1_Click 再启动客户段
3。连接一次以后服务器和客户段都要关闭 然后从新开服务器