www.pudn.com > sock_server.rar > Form1.frm
VERSION 5.00
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 6120
ClientLeft = 165
ClientTop = 855
ClientWidth = 10935
LinkTopic = "Form1"
ScaleHeight = 6120
ScaleWidth = 10935
StartUpPosition = 3 '窗口缺省
Begin VB.Frame Frame1
Caption = "数据区:"
Height = 5895
Left = 3720
TabIndex = 7
Top = 120
Width = 7095
Begin MSComctlLib.ListView lvw_ma
Height = 1875
Left = 90
TabIndex = 8
Top = 180
Width = 6945
_ExtentX = 12250
_ExtentY = 3307
View = 3
LabelWrap = -1 'True
HideSelection = -1 'True
GridLines = -1 'True
_Version = 393217
ForeColor = -2147483640
BackColor = -2147483643
BorderStyle = 1
Appearance = 1
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
NumItems = 10
BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628}
Text = "名称"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 1
Text = "时间"
Object.Width = 2540
EndProperty
BeginProperty ColumnHeader(3) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 2
Text = "1路"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(4) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 3
Text = "2路"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(5) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 4
Text = "3路"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(6) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 5
Text = "4路"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(7) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 6
Text = "5路"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(8) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 7
Text = "6路"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(9) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 8
Text = "7路"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(10) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 9
Text = "8路"
Object.Width = 1764
EndProperty
End
Begin MSComctlLib.ListView lvw_mm
Height = 1875
Left = 90
TabIndex = 9
Top = 2100
Width = 6945
_ExtentX = 12250
_ExtentY = 3307
View = 3
LabelWrap = -1 'True
HideSelection = -1 'True
GridLines = -1 'True
_Version = 393217
ForeColor = -2147483640
BackColor = -2147483643
BorderStyle = 1
Appearance = 1
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
NumItems = 8
BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628}
Text = "名称"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 1
Text = "时间"
Object.Width = 2540
EndProperty
BeginProperty ColumnHeader(3) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 2
Text = "9路"
Object.Width = 2540
EndProperty
BeginProperty ColumnHeader(4) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 3
Text = "10路"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(5) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 4
Text = "11路"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(6) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 5
Text = "12路"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(7) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 6
Text = "13路"
Object.Width = 1764
EndProperty
BeginProperty ColumnHeader(8) {BDD1F052-858B-11D1-B16A-00C0F0283628}
SubItemIndex = 7
Text = "14路"
Object.Width = 1764
EndProperty
End
Begin MSComctlLib.ListView lvw_ser
Height = 1875
Left = 90
TabIndex = 10
Top = 3990
Width = 6945
_ExtentX = 12250
_ExtentY = 3307
View = 3
LabelWrap = -1 'True
HideSelection = -1 'True
GridLines = -1 'True
_Version = 393217
ForeColor = -2147483640
BackColor = -2147483643
BorderStyle = 1
Appearance = 1
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
NumItems = 0
End
End
Begin MSComctlLib.TreeView TreeView1
Height = 2295
Left = 90
TabIndex = 6
Top = 90
Width = 2115
_ExtentX = 3731
_ExtentY = 4048
_Version = 393217
Style = 7
Checkboxes = -1 'True
Appearance = 1
End
Begin VB.Timer Timer1
Interval = 500
Left = 1170
Top = 5340
End
Begin VB.TextBox Text4
Appearance = 0 'Flat
Height = 2235
Left = 2250
MultiLine = -1 'True
TabIndex = 5
Text = "Form1.frx":0000
Top = 120
Width = 1425
End
Begin VB.CommandButton com_stop
Caption = "断网"
Height = 585
Left = 1560
TabIndex = 4
Top = 5490
Width = 945
End
Begin VB.CommandButton com_sent
Caption = "发送数据"
Height = 465
Left = 2700
TabIndex = 3
Top = 5580
Width = 915
End
Begin VB.TextBox Text2
Height = 615
Left = 120
TabIndex = 2
Top = 4830
Width = 3555
End
Begin VB.TextBox Text1
Height = 2355
Left = 120
MultiLine = -1 'True
ScrollBars = 3 'Both
TabIndex = 1
Top = 2400
Width = 3525
End
Begin VB.CommandButton listen_client
Caption = "联网"
Height = 585
Left = 240
TabIndex = 0
Top = 5490
Width = 945
End
Begin MSWinsockLib.Winsock sock
Index = 0
Left = 2430
Top = 5340
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin VB.Menu mis_ctrl
Caption = "控制"
Begin VB.Menu mis_link
Caption = "联网"
End
Begin VB.Menu mis_call
Caption = "呼叫"
Begin VB.Menu mis_call_once
Caption = "立即呼叫"
End
Begin VB.Menu mis_call_hurry
Caption = "紧急呼叫"
End
Begin VB.Menu mis_call_usual
Caption = "普通呼叫"
End
End
Begin VB.Menu mis_stop
Caption = "断网"
End
End
Begin VB.Menu mid_data
Caption = "数据"
Begin VB.Menu mis_ma
Caption = "模拟量"
End
Begin VB.Menu mis_ttl
Caption = "脉冲"
End
Begin VB.Menu mis_com
Caption = "串口"
End
End
Begin VB.Menu mis_exit
Caption = "退出"
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim SockCount As Integer
Dim SockIndex As Integer
Dim sendmsg As String
Dim ReceiveMsg As String
Dim str_id(1 To 100) As String
Dim sock_sta_no(1 To 100) As sta_sock
Dim sta_sock_no(1 To 100) As sta_sock
Private Sub com_sent_Click()
Dim i As Integer
Dim send_msg(1 To 10) As String
For i = 1 To 10
If TreeView1.Nodes.Item(i + 1).Checked = True Then
If sta_sock_no(i).sock_no <> 0 Then
If sock(sta_sock_no(i).sock_no).State = sckConnected Then
sock(sta_sock_no(i).sock_no).SendData Text2.Text
send_msg(i) = sta_name(i) & "发送成功"
Else
send_msg(i) = sta_name(i) & "连接断开"
End If
Else
send_msg(i) = sta_name(i) & "未登录过"
End If
End If
Next i
MsgBox send_msg(1) & vbNewLine & send_msg(2) & vbNewLine _
& send_msg(3) & vbNewLine & send_msg(4) & vbNewLine _
& send_msg(5) & vbNewLine & send_msg(6) & vbNewLine _
& send_msg(7) & vbNewLine & send_msg(8) & vbNewLine _
& send_msg(9) & vbNewLine & send_msg(10), , "呼叫信息"
End Sub
Private Sub com_stop_Click()
Dim i As Integer
For i = 0 To sock.Count - 1
sock(i).Close
Next i
com_stop.Enabled = False
com_sent.Enabled = False
listen_client.Enabled = True
mis_stop.Enabled = False
mis_call.Enabled = False
mis_link.Enabled = True
End Sub
Private Sub Form_Load()
Dim i As Integer
Dim sta_node As Node
Dim sta_inn(1 To 10) As String
Set sta_node = TreeView1.Nodes.Add(, , "sta_in", "子站列表", 0)
For i = 1 To 10
sta_inn(i) = "sta_inn" & CStr(i)
Set sta_node = TreeView1.Nodes.Add("sta_in", tvwChild, sta_inn(i), sta_name(i), 0)
'Set sta_node = TreeView1.Nodes.Add("sta_in", tvwChild, "sta_inn(2)", "子站2", 0)
Next i
'fresh_list
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If MsgBox("确定要退出吗?", vbYesNo, "确认") = vbNo Then
Cancel = 1
Exit Sub
End If
If mis_link.Enabled = False Then
mis_stop_Click
End If
End Sub
Private Sub listen_client_Click()
SockCount = 0
sock(0).LocalPort = 2005
sock(0).Listen
listen_client.Enabled = False
com_sent.Enabled = True
com_stop.Enabled = True
mis_link.Enabled = False
mis_stop.Enabled = True
mis_call.Enabled = True
End Sub
Private Sub mis_call_hurry_Click()
Dim i As Integer
Dim send_msg(1 To 10) As String
For i = 1 To 10
If TreeView1.Nodes.Item(i + 1).Checked = True Then
If sta_sock_no(i).sock_no <> 0 Then
If sock(i).State = sckConnected Then
sock(i).SendData "[#]"
send_msg(i) = sta_name(i) & "呼叫成功"
Else
send_msg(i) = sta_name(i) & "连接断开"
End If
Else
send_msg(i) = sta_name(i) & "未登路过"
End If
End If
Next i
MsgBox send_msg(1) & vbNewLine & send_msg(2) & vbNewLine _
& send_msg(3) & vbNewLine & send_msg(4) & vbNewLine _
& send_msg(5) & vbNewLine & send_msg(6) & vbNewLine _
& send_msg(7) & vbNewLine & send_msg(8) & vbNewLine _
& send_msg(9) & vbNewLine & send_msg(10), , "呼叫信息"
End Sub
Private Sub mis_call_once_Click()
Dim i As Integer
Dim send_msg(1 To 10) As String
For i = 1 To 10
If TreeView1.Nodes.Item(i + 1).Checked = True Then
If sta_sock_no(i).sock_no <> 0 Then
If sock(sta_sock_no(i).sock_no).State = sckConnected Then
sock(sta_sock_no(i).sock_no).SendData "[^]"
send_msg(i) = sta_name(i) & "呼叫成功"
Else
send_msg(i) = sta_name(i) & "连接断开"
End If
Else
send_msg(i) = sta_name(i) & "未登录过"
End If
End If
Next i
MsgBox send_msg(1) & vbNewLine & send_msg(2) & vbNewLine _
& send_msg(3) & vbNewLine & send_msg(4) & vbNewLine _
& send_msg(5) & vbNewLine & send_msg(6) & vbNewLine _
& send_msg(7) & vbNewLine & send_msg(8) & vbNewLine _
& send_msg(9) & vbNewLine & send_msg(10), , "呼叫信息"
End Sub
Private Sub mis_call_usual_Click()
Dim i As Integer
Dim send_msg(1 To 10) As String
For i = 1 To 10
If TreeView1.Nodes.Item(i + 1).Checked = True Then
If sta_sock_no(i).sock_no <> 0 Then
If sock(i).State = sckConnected Then
sock(i).SendData "[!]"
send_msg(i) = sta_name(i) & "呼叫成功"
Else
send_msg(i) = sta_name(i) & "连接断开"
End If
Else
send_msg(i) = sta_name(i) & "未登录过"
End If
End If
Next i
MsgBox send_msg(1) & vbNewLine & send_msg(2) & vbNewLine _
& send_msg(3) & vbNewLine & send_msg(4) & vbNewLine _
& send_msg(5) & vbNewLine & send_msg(6) & vbNewLine _
& send_msg(7) & vbNewLine & send_msg(8) & vbNewLine _
& send_msg(9) & vbNewLine & send_msg(10), , "呼叫信息"
End Sub
Private Sub mis_exit_Click()
If MsgBox("确定要退出吗?", vbYesNo, "确认") = vbYes Then
If mis_link.Enabled = False Then
mis_stop_Click
End If
End
End If
End Sub
Private Sub mis_link_Click()
SockCount = 0
sock(0).LocalPort = 2005
sock(0).Listen
mis_link.Enabled = False
mis_stop.Enabled = True
mis_call.Enabled = True
listen_client.Enabled = False
com_sent.Enabled = True
com_stop.Enabled = True
End Sub
Private Sub mis_stop_Click()
Dim i As Integer
For i = 0 To sock.Count - 1
sock(i).Close
Next i
mis_stop.Enabled = False
mis_call.Enabled = False
mis_link.Enabled = True
com_stop.Enabled = False
com_sent.Enabled = False
listen_client.Enabled = True
End Sub
Private Sub sock_ConnectionRequest(index As Integer, ByVal requestID As Long)
Dim i As Integer
If index = 0 Then
If sock.Count > 1 Then
For i = 1 To sock.Count - 1
If sock(i).State <> sckConnected Then
sock(i).Close
sock(i).Accept requestID
sta_sock_no(sock_sta_no(i).sta_no).sta_no = 0
sta_sock_no(sock_sta_no(i).sta_no).sock_no = 0
Form1.Text1.Text = CStr(requestID)
Exit Sub
End If
Next i
Load sock(i)
sock(i).LocalPort = 2005
sock(i).Accept requestID
Form1.Text1.Text = CStr(requestID)
Else
i = 1
Load sock(i)
sock(i).LocalPort = 2005
sock(i).Accept requestID
Form1.Text1.Text = CStr(requestID)
End If
End If
End Sub
Private Sub sock_DataArrival(index As Integer, ByVal bytesTotal As Long)
Dim no As Integer
sock(index).GetData ReceiveMsg
SockIndex = index
If Len(ReceiveMsg) < 3 Then
no = Val(ReceiveMsg)
sta_sock_no(no).sock_no = index
sta_sock_no(no).sta_no = no
sock_sta_no(index).sock_no = no
sock_sta_no(index).sta_no = index
Else
'ReceiveMsg = "030000000068600000000001632000000000000+16921006720000008000000000000000000001356000000000000000000000000]"
Form1.Text1.Text = Form1.Text1.Text & vbNewLine & ReceiveMsg
End If
'Txt_MSG.Text = ReceiveMsg
' Select Case Len(ReceiveMsg)
' Case 5
' If ReceiveMsg = "HEART" Then
' Heart = 1
' StBar.Panels.Item(1).Text = "收到 Heart 包"
' Else
' Heart = 0
' End If
'Case 10
' DTU(index, 2) = ReceiveMsg
' DTU(index, 1) = "1"
' Combo_TH.List(index - 1) = ReceiveMsg
' Txt_DT_TM.Text = DTU(index, 2)
' StBar.Panels.Item(1).Text = "收到电台编号"
'Case 106
'' Call ZhuanHuan
'' Call SaveDat
'' StBar.Panels.Item(1).Text = "收到有效数据"
'Case Else
' StBar.Panels.Item(1).Text = "收到无效数据"
' End Select
End Sub
Private Sub TabStrip1_Click()
End Sub
Private Sub Timer1_Timer()
If listen_client.Enabled = False Then
Dim i As Integer
Dim j As Integer
Text4.Text = ""
j = 0
For i = 1 To count_init
If sta_sock_no(i).sock_no <> 0 Then
If sock(sta_sock_no(i).sock_no).State <> sckConnected Then
Text4.Text = Text4.Text & vbNewLine & CStr(sta_sock_no(i).sta_no) & " 号站不在线"
Else
Text4.Text = Text4.Text & vbNewLine & CStr(sta_sock_no(i).sta_no) & " 号站在线"
End If
j = j + 1
End If
If j = sock.Count - 1 Then Exit For
Next i
End If
End Sub