winsock程序,Client端第一次启动与Server端连接正常,连接断开后,命令行下用netstat -an查看出现“TIME_WAIT”,重新打开Client端无法连接。过几分钟“TIME_WAIT”消失后,重开Client端连接又正常,请问各位高手是什么问题?感激不尽……服务端:
Private Sub ShareServer_CloseSck()
ShareServer.CloseSck
ShareServer.Listen
End SubPrivate Sub ShareServer_ConnectionRequest(ByVal requestID As Long)
If ShareServer.State <> sckClosed Then ShareServer.CloseSck
ShareServer.Accept requestID
ShareServer.SendData cmdtxt1 & "|" & cmdtxt2
End SubPrivate Sub StartSrv_Click()
Set ShareServer = New CSocketMaster
ShareServer.LocalPort = CInt(txtport.Text)
ShareServer.Listen
End Sub客户端:
Private Sub Form_Load()
Set ShareClient = New CSocketMaster
ShareClient.RemoteHost = "127.0.0.1"
ShareClient.RemotePort = 3322
ShareClient.LocalPort = 3323
ShareClient.Connect
End SubPrivate Sub ShareClient_CloseSck()
ShareClient.CloseSck
End SubPrivate Sub ShareClient_DataArrival(ByVal bytesTotal As Long)
ShareClient.GetData cmdtxt
cmdtxtarray = Split(cmdtxt, "|")
cmdtxt1 = cmdtxtarray(0)
cmdtxt2 = cmdtxtarray(1)
End Sub
Private Sub ShareServer_CloseSck()
ShareServer.CloseSck
ShareServer.Listen
End SubPrivate Sub ShareServer_ConnectionRequest(ByVal requestID As Long)
If ShareServer.State <> sckClosed Then ShareServer.CloseSck
ShareServer.Accept requestID
ShareServer.SendData cmdtxt1 & "|" & cmdtxt2
End SubPrivate Sub StartSrv_Click()
Set ShareServer = New CSocketMaster
ShareServer.LocalPort = CInt(txtport.Text)
ShareServer.Listen
End Sub客户端:
Private Sub Form_Load()
Set ShareClient = New CSocketMaster
ShareClient.RemoteHost = "127.0.0.1"
ShareClient.RemotePort = 3322
ShareClient.LocalPort = 3323
ShareClient.Connect
End SubPrivate Sub ShareClient_CloseSck()
ShareClient.CloseSck
End SubPrivate Sub ShareClient_DataArrival(ByVal bytesTotal As Long)
ShareClient.GetData cmdtxt
cmdtxtarray = Split(cmdtxt, "|")
cmdtxt1 = cmdtxtarray(0)
cmdtxt2 = cmdtxtarray(1)
End Sub
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货