tcpip.txt

来自「VB6.0编译的TCP/IP的要求端的源码。数据输出的端口」· 文本 代码 · 共 111 行

TXT
111
字号
Public Declare Function gettickcount Lib "kerne132" () As Long
Public ptraddress As Integer
Public ctrloutvalue As Integer
Public okflag As Boolean
Public responsedata As String

Sub TimeDelay(TT As Long)
Dim t As Long
t = GetTickCount()
Do
DoEvents
If GetTickCount - t < 0 Then t = GetTickCount
Loop Until GetTickCount - t >= TT
End Sub


'''''''''''''''''''''''''''''
'简单地执行传送指令
''''''''''''''''''''''''''''''
Private Sub Command1_Click()
TCPOutput "LPTDOUT" & txtoutput.Text & vbCr   '送出指令
End Sub
''''''''''''''''''''''''''''''
'关闭连接并结束程序
'''''''''''''''''''''''''''''
Private Sub Command2_Click()
Winsock1.Close  '关闭连接
End  '结束程序
End Sub
''''''''''''''''''''''''''''''''''''''''''''
'设置连接参数
'执行连接动作
'''''''''''''''''''''''''''''''''''''''''''
Private Sub Command3_Click()
Dim i%
'检查状态,若不是关闭,则执行关闭
If Winsock1.State <> 0 Then Winsock1.Close
'设置远程的地址及通信端口号码
Winsock1.RemoteHost = txtIP.Text
Winsock1.RemotePort = txtPort.Text
Winsock1.Connect  '执行连接
TimeDelay 100
'循环等待连接成功
Do
DoEvents
Loop Until Winsock1.State = sckConnected
Me.Caption = "已连接"
'以下将传输数据的Check Box及按钮致能
For i = 0 To 7
ctrlout(i).Enabled = True
Next i
Command1.Enabled = True
End Sub
'''''''''''''''''''''''''''''''''''''
'将check box 的状态设成数值
'并将此值送出
''''''''''''''''''''''''''''''''''''
Private Sub ctrlout_click(Index As Integer)
If ctrlout(Index).Value = 1 Then   '该控制核取框是否被核取?
CtrlOutValue = CtrlOutValue Or 2 ^ Index  '若选中则将该位置的输出变量值设置为1
Else
CtrlOutValue = CtrlOutValue And (255 - 2 ^ Index) '否则设置为0
End If
TCPOutput "LPTDOUT " & CStr(CtrlOutValue) & vbCr   '再将变量值送到指定的打印机地址上
End Sub
'''''''''''''''''''''''''''''''''''''''
'窗体加载
''''''''''''''''''''''''''''''''''''''
Private Sub Form_Load()
Dim i%
CtrlOutValue = 0   '将控制数值预设为0
'以下将传输数据的Check Box及按钮禁能
'避免在还没有打开前就传送数据
For i = 0 To 7
ctrlout(i).Enabled = False
Next i
Command1.Enabled = False
End Sub
'''''''''''''''''''''''''''''''''''''''''''
'简单地执行传送指令
'''''''''''''''''''''''''''''''''''''''''''
Function TCPOutput(cmd As String) As String
'传送控制指令
Winsock1.SendData cmd
End Function
'''''''''''''''''''''''''''''''''''''''''''''
'当连接一端中止连接时,便会引发以下的事件
'我们将连接关闭,并作适当处理
'''''''''''''''''''''''''''''''''''''''''''''
Private Sub Winsock1_Close()
Dim i%
txtresult.Text = txtresult.Text & "对方要求中断。" & vbCr
Winsock1.clolse  '中断连接
'因已中断,故以下将传输数据的Check Box及按钮禁能
For i = 0 To 7
ctrlout(i).Enabled = False
Next i
Command1.Enabled = False
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''
'控件收到对方送来的数据时,会引发以下的事件
'我们将数据收到后,显示在文本框中
'''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strdata As String
Winsock1.GetData strdata   '接收数据
ResPonseData = strdata
txtresult.Text = txtresult.Text & ResPonseData  '显示数据
txtresult.SelLength = Len(txtresult.Text)
End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?