客户端代码:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Load()
' The name of the Winsock control is tcpClient.
' Note: to specify a remote host, you can use
' either the IP address (ex: "121.111.1.1") or
' the computer's "friendly" name, as shown here.
tcpClient.RemoteHost = "172.19.1.34"
tcpClient.RemotePort = 1999
'tcpClient.Bind 1003, willisliu
End SubPrivate Sub cmdConnect_Click()
' Invoke the Connect method to initiate a
' connection.
Print tcpClient.State
tcpClient.Connect
Sleep 3000
Print tcpClient.State
End SubPrivate Sub txtSendData_Change()
tcpClient.SendData txtSend.Text
End SubPrivate Sub tcpClient_DataArrival _
(ByVal bytesTotal As Long)
Dim strData As String
tcpClient.GetData strData
txtOutput.Text = strData
End Sub服务端代码:
Private Sub Form_Load()
' Set the LocalPort property to an integer.
' Then invoke the Listen method.
tcpServer.LocalPort = 1999
'tcpServer.Bind 1001, willisliu
tcpServer.Listen
frmClient.Show ' Show the client form.
End Sub
Private Sub tcpServer_ConnectionRequest _
(ByVal requestID As Long)
' Check if the control's State is closed. If not,
' close the connection before accepting the new
' connection.
If tcpServer.State <> sckClosed Then _
tcpServer.Close
' Accept the request with the requestID
' parameter.
tcpServer.Accept requestID
End SubPrivate Sub txtSendData_Change()
' The TextBox control named txtSendData
' contains the data to be sent. Whenever the user
' types into the textbox, the string is sent
' using the SendData method.
tcpServer.SendData txtSendData.Text
End SubPrivate Sub tcpServer_DataArrival _
(ByVal bytesTotal As Long)
' Declare a variable for the incoming data.
' Invoke the GetData method and set the Text
' property of a TextBox named txtOutput to
' the data.
Dim strData As String
tcpServer.GetData strData
txtOutput.Text = strData
End Sub
Sub frmServer_UnLoad(Cancel As Integer) tcpServer.Close End Sub
'
' Private Sub tcpServer_close(Index As Integer)
' tcpServer.Close
' tcpServer.Listen
' End Sub点连接按钮后,tcpClient.state一直是为6(正在连接中),我想了好久都没有结果,在这里请教高手!
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Load()
' The name of the Winsock control is tcpClient.
' Note: to specify a remote host, you can use
' either the IP address (ex: "121.111.1.1") or
' the computer's "friendly" name, as shown here.
tcpClient.RemoteHost = "172.19.1.34"
tcpClient.RemotePort = 1999
'tcpClient.Bind 1003, willisliu
End SubPrivate Sub cmdConnect_Click()
' Invoke the Connect method to initiate a
' connection.
Print tcpClient.State
tcpClient.Connect
Sleep 3000
Print tcpClient.State
End SubPrivate Sub txtSendData_Change()
tcpClient.SendData txtSend.Text
End SubPrivate Sub tcpClient_DataArrival _
(ByVal bytesTotal As Long)
Dim strData As String
tcpClient.GetData strData
txtOutput.Text = strData
End Sub服务端代码:
Private Sub Form_Load()
' Set the LocalPort property to an integer.
' Then invoke the Listen method.
tcpServer.LocalPort = 1999
'tcpServer.Bind 1001, willisliu
tcpServer.Listen
frmClient.Show ' Show the client form.
End Sub
Private Sub tcpServer_ConnectionRequest _
(ByVal requestID As Long)
' Check if the control's State is closed. If not,
' close the connection before accepting the new
' connection.
If tcpServer.State <> sckClosed Then _
tcpServer.Close
' Accept the request with the requestID
' parameter.
tcpServer.Accept requestID
End SubPrivate Sub txtSendData_Change()
' The TextBox control named txtSendData
' contains the data to be sent. Whenever the user
' types into the textbox, the string is sent
' using the SendData method.
tcpServer.SendData txtSendData.Text
End SubPrivate Sub tcpServer_DataArrival _
(ByVal bytesTotal As Long)
' Declare a variable for the incoming data.
' Invoke the GetData method and set the Text
' property of a TextBox named txtOutput to
' the data.
Dim strData As String
tcpServer.GetData strData
txtOutput.Text = strData
End Sub
Sub frmServer_UnLoad(Cancel As Integer) tcpServer.Close End Sub
'
' Private Sub tcpServer_close(Index As Integer)
' tcpServer.Close
' tcpServer.Listen
' End Sub点连接按钮后,tcpClient.state一直是为6(正在连接中),我想了好久都没有结果,在这里请教高手!
解决方案 »
- 如何在下一次打开程序的时候还能自动完成上次的填表内容
- 我写了个简单的需求分析和数据库设计,大家进来提点意见。
- 求助
- 有谁做过超市里的多显示器在不同的地方共同显示同一电脑的方案?急!
- adodc连接oracle数据库的问题
- 求解,算法题(1)
- 哪里有东方快车下载??? GOOGLE搜到的都是找不到页面!!!!
- 关于VB编译的问题。。。
- 请问?如何用VB读写操作csv文件,或Log文件!谢谢!!
- 怎么在程序中判断当前行已经读到了文本文件的最后一行?也就是说,怎么判断input #loiFileNo,losStr 已经读到了最后一行? (空)
- 求助,废寝忘食想让这段依次打开DOC的代码完美
- VB获得窗口顺序求助..
winsock没有提供连接超时属性,用timer控件去处理吧。
你也可以用API socket 可以设置超时时间,不过使用比较复杂。