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