⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frm_rcv.frm

📁 中国联通SGIP 2.0协议的源代码 java
💻 FRM
字号:
VERSION 5.00
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
Begin VB.Form Frm_sndMT 
   Caption         =   "发送短消息  MT"
   ClientHeight    =   4485
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   6690
   LinkTopic       =   "Form1"
   ScaleHeight     =   4485
   ScaleWidth      =   6690
   StartUpPosition =   3  '窗口缺省
   Begin VB.CommandButton Command1 
      Caption         =   "建立winsock连接"
      Height          =   435
      Left            =   1260
      TabIndex        =   6
      Top             =   2520
      Width           =   1590
   End
   Begin VB.Timer Timer1 
      Enabled         =   0   'False
      Interval        =   1000
      Left            =   4515
      Top             =   210
   End
   Begin VB.CommandButton Command2 
      Caption         =   "发送消息"
      Height          =   435
      Left            =   3255
      TabIndex        =   2
      Top             =   2520
      Width           =   1170
   End
   Begin VB.TextBox Txt_no 
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   435
      Left            =   1365
      TabIndex        =   1
      Top             =   210
      Width           =   2010
   End
   Begin VB.TextBox Txt_msg 
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   1170
      Left            =   1365
      MultiLine       =   -1  'True
      ScrollBars      =   2  'Vertical
      TabIndex        =   0
      Text            =   "Frm_rcv.frx":0000
      Top             =   1050
      Width           =   3165
   End
   Begin MSWinsockLib.Winsock WsockMT 
      Index           =   0
      Left            =   3885
      Top             =   210
      _ExtentX        =   741
      _ExtentY        =   741
      _Version        =   393216
   End
   Begin VB.Label Lbl_show 
      Caption         =   "Label1"
      Height          =   645
      Left            =   105
      TabIndex        =   5
      Top             =   3360
      Width           =   6210
   End
   Begin VB.Label Label1 
      Caption         =   "手机号:"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   435
      Index           =   0
      Left            =   0
      TabIndex        =   4
      Top             =   210
      Width           =   1065
   End
   Begin VB.Label Label1 
      Caption         =   "内容:"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   435
      Index           =   2
      Left            =   105
      TabIndex        =   3
      Top             =   1260
      Width           =   1065
   End
End
Attribute VB_Name = "Frm_sndMT"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Dim msgMO_bin() As Byte '接收短消息的原始数据
Dim msgMT_bin() As Byte '发送短消息的数据
Dim RS As New ADODB.Recordset
Dim BoolCN As Boolean

Private Sub Command1_Click()
WsockMT(0).Connect
End Sub

Private Sub Command2_Click()
Timer1_Timer

End Sub


Private Sub Form_Load()
WsockMT(0).RemoteHost = ""          '网关的IP

WsockMT(0).RemotePort = 8801

Open App.Path & "\log\log" & Date & ".txt" For Append As #1 'save to a log file
Print #1, Time & " MT 发送TCP连接"
Close #1


End Sub

Private Sub Form_Unload(Cancel As Integer)
Open App.Path & "\log\log" & Date & ".txt" For Append As #1 'save to a log file
Print #1, Time & " MT 程序关闭"
Close #1

End Sub

Private Sub Timer1_Timer()
Lbl_show = sckState(WsockMT(0).State)

'定时发送Submit

        '从T_snd表中读出手机号、代码、短消息
        '.Open "select * from t_snd where flag=0", Cn, 1, 2
        'While Not .EOF And SequNum < 30
            
            If WsockMT(0).State = 7 And SequNum < 32 Then
                'winsock正常可以发送
                BoolCN = False
                
                SubMT.ChargeNumber = "86" & Txt_no & Chr(0)  '手机号
                
                SubMT.UserNumber = "86" & Txt_no & Chr(0)
                
                SubMT.ServiceType = "01" & Chr(0)            '业务代码
                
                SubMT.MessageContent = Txt_msg              '   短消息内容
                
                SendSubmit WsockMT(0), SubMT                '调用发送函数
                '已发送一条Submit
                SequNum = SequNum + 1
                '计为发送一次
                
                Open App.Path & "\log\log" & Date & ".txt" For Append As #1 'save to a log file
                Print #1, Time & "MT 发送一条Submit," & Txt_no & Txt_msg
                Close #1
            Else
                BoolCN = True
                
            End If
                
    
If BoolCN Then
'winsock不正常,断开重联
    If WsockMT(0).State = 6 Then
    '正在连接
    ElseIf WsockMT(0).State = 0 Then
        WsockMT(0).Close
        WsockMT(0).Connect
        DoEvents
    ElseIf WsockMT(0).State <> 0 Then
        WsockMT(0).Close
        Open App.Path & "\log\log" & Date & ".txt" For Append As #1 'save to a log file
        Print #1, Time & " MT winsock不正常,断开重联"
        Close #1

    End If
    
End If

End Sub

Private Sub WsockMT_Close(Index As Integer)
'断开连接
WsockMT(0).Close
Open App.Path & "\log\log" & Date & ".txt" For Append As #1 'save to a log file
Print #1, Time & " MT SMG断开连接" & Index
Close #1

End Sub

Private Sub WsockMT_Connect(Index As Integer)
'物理连接成功后,协议连接
SendBind WsockMT(0)
Open App.Path & "\log\log" & Date & ".txt" For Append As #1 'save to a log file
Print #1, Time & " MT 发送Bind。" & Index
Close #1

End Sub

Private Sub Wsockmt_DataArrival(Index As Integer, ByVal bytesTotal As Long)
'有数据传输
Dim s1 As Long
Dim Msg_bin() As Byte
Dim XuLieHao() As Byte

WsockMT(Index).GetData Msg_bin, vbByte, 4           '包长度
WsockMT(Index).GetData Msg_bin, vbByte, 4           'ID
s1 = GetID(Msg_bin)
WsockMT(Index).GetData XuLieHao, vbByte, 12           '节点'时间'序号

Open App.Path & "\log\log" & Date & ".txt" For Append As #1 'save to a log file
Print #1, Time & " MT 收到一个SMG消息,winsock序号:" & Index & "。消息头:" & s1
Close #1

Select Case s1
    Case -1         'SGIP_BIND_RESP
        'SMG对申请连接的回复
        If BindRespMX(WsockMT(Index)) = 0 Then
            '成功
            'Lbl_show = Lbl_show & "连接成功"
        Else
            '不成功
            Lbl_show = Lbl_show & "连接不成功"
        End If
        
        
    Case -3            'sgip_submit_resp
        'SMG对Submit的回复
        
        SubMitRespMX WsockMT(Index)
        
    Case -2                             'SGIP_UNBIND_RESP
        'SMG对申请断开连接的回复
            
        WsockMT(Index).Close
        
    
    Case Else
        WsockMT(Index).GetData Msg_bin, vbByte           '包长度
        'MsgBox RES
        
    
End Select

'Lbl_show = "有数据传送" & Index & s1

End Sub

⌨️ 快捷键说明

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