📄 form1.vb
字号:
Imports System.Net
Imports System.Net.Sockets
Imports System.Threading
Public Class Form1
Inherits System.Windows.Forms.Form
Dim socket(127) As Socket
Dim socketcount As Integer = 0
Dim run As Boolean = True
Sub establistsocket(ByVal state As Object)
While run
Dim listener As Socket
listener = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim serveradd As IPAddress = Dns.Resolve("127.0.0.1").AddressList(0)
Dim enpoint As New IPEndPoint(serveradd, 50)
listener.Bind(enpoint)
listener.Listen(0)
socket(socketcount) = listener.Accept
listener.Close()
socketcount = socketcount + 1
End While
End Sub
Public Sub ProcessInfo(ByVal info As String, ByVal socketindex As Integer)
Dim idorder As String
Dim password As String
Dim flag As String
Dim i As Integer
flag = info.Substring(0, 1)
Select Case flag
Case "L"
idorder = info.Substring(1, 6)
password = info.Substring(7, 9)
Dim result As String
result = loginconfirm(Trim(idorder), Trim(password))
sendinfo(result, socketindex)
Case "E"
idorder = info.Substring(1, 6)
password = info.Substring(7, 9)
Dim result As String
result = logoutconfirm(Trim(idorder), Trim(password))
sendinfo(result, socketindex)
End Select
End Sub
Function loginconfirm(ByVal idorder As String, ByVal password As String) As String
Dim sqlstring As String
sqlstring = "select * from tbUser where IDOrder='" & idorder & "'"
Dim objectdsdataset As New DataSet
Dim oleconn As New OleDb.OleDbConnection(CONN)
Dim adapter As New OleDb.OleDbDataAdapter
adapter.TableMappings.Add("Table", "User")
Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(sqlstring, oleconn)
cmd.CommandType = CommandType.Text
adapter.SelectCommand = cmd
If oleconn.State <> ConnectionState.Open Then
oleconn.Open()
End If
cmd.ExecuteNonQuery()
If oleconn.State <> ConnectionState.Closed Then
oleconn.Close()
End If
adapter.Fill(objectdsdataset)
If objectdsdataset.Tables("User").Rows.Count = 0 Then
Return "L0"
Exit Function
End If
If objectdsdataset.Tables("User").Rows(0)("Pwd") = password Then
If objectdsdataset.Tables("User").Rows(0)("RemainTime") <= 0 Then
Return "L2"
Exit Function
End If
If objectdsdataset.Tables("User").Rows(0)("Online") = 0 Then
sqlstring = "update tbUser set LoginTime='" & Date.Now & "',Online='1' where IDOrder ='" & idorder & "'"
CommandRecord(sqlstring)
End If
Return "L1"
Else
Return "L0"
Exit Function
End If
End Function
Function logoutconfirm(ByVal idorder As String, ByVal password As String) As String
Dim remainTime As Double
Dim sqlstring As String
sqlstring = "select * from tbUser where IDOrder='" & idorder & "'"
Dim objectdsdataset As New DataSet
Dim oleconn As New OleDb.OleDbConnection(CONN)
Dim adapter As New OleDb.OleDbDataAdapter
adapter.TableMappings.Add("Table", "User")
Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(sqlstring, oleconn)
cmd.CommandType = CommandType.Text
adapter.SelectCommand = cmd
If oleconn.State <> ConnectionState.Open Then
oleconn.Open()
End If
cmd.ExecuteNonQuery()
If oleconn.State <> ConnectionState.Closed Then
oleconn.Close()
End If
adapter.Fill(objectdsdataset)
If objectdsdataset.Tables("User").Rows.Count = 0 Then
Return "E0"
Exit Function
End If
If objectdsdataset.Tables("User").Rows(0)("Pwd") = password Then
remainTime = objectdsdataset.Tables("User").Rows(0)("RemainTime")
remainTime = remainTime - 1 ' Date.Now.Subtract(objectdsdataset.Tables("User").Rows(0)("LoginTime"))
If remainTime <= 0 Then
sqlstring = "update tbUser set RemainTime='" & remainTime & _
"',Online='0' where IDOrder ='" & idorder & " '"
CommandRecord(sqlstring)
Return "E2"
Else
sqlstring = "update tbUser set RemainTime ='" & remainTime & "',Online='0' where IDOrder='" & idorder & "'"
CommandRecord(sqlstring)
Return "E1"
Exit Function
End If
Else
Return "L0"
Exit Function
End If
End Function
Function sendinfo(ByVal info As String, ByVal socketindex As String) As String
Dim ascii As System.Text.Encoding = System.Text.Encoding.ASCII
Dim sendstr As String = info
Dim bytesend As Byte()
bytesend = ascii.GetBytes(sendstr)
socket(socketindex).Send(bytesend, bytesend.Length, 0)
End Function
#Region " Windows 窗体设计器生成的代码 "
Public Sub New()
MyBase.New()
'该调用是 Windows 窗体设计器所必需的。
InitializeComponent()
'在 InitializeComponent() 调用之后添加任何初始化
End Sub
'窗体重写 dispose 以清理组件列表。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
'注意: 以下过程是 Windows 窗体设计器所必需的
'可以使用 Windows 窗体设计器修改此过程。
'不要使用代码编辑器修改它。
Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu
Friend WithEvents MenuSystem As System.Windows.Forms.MenuItem
Friend WithEvents MenuAddManager As System.Windows.Forms.MenuItem
Friend WithEvents MenuModifyMPwd As System.Windows.Forms.MenuItem
Friend WithEvents MenuDelManager As System.Windows.Forms.MenuItem
Friend WithEvents MenuLockScreen As System.Windows.Forms.MenuItem
Friend WithEvents MenuExit As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem5 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem2 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem3 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem4 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem6 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem7 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem8 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem9 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem10 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem11 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem12 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem13 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem14 As System.Windows.Forms.MenuItem
Friend WithEvents Timer1 As System.Windows.Forms.Timer
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container
Me.MainMenu1 = New System.Windows.Forms.MainMenu
Me.MenuSystem = New System.Windows.Forms.MenuItem
Me.MenuAddManager = New System.Windows.Forms.MenuItem
Me.MenuModifyMPwd = New System.Windows.Forms.MenuItem
Me.MenuDelManager = New System.Windows.Forms.MenuItem
Me.MenuItem5 = New System.Windows.Forms.MenuItem
Me.MenuLockScreen = New System.Windows.Forms.MenuItem
Me.MenuExit = New System.Windows.Forms.MenuItem
Me.MenuItem1 = New System.Windows.Forms.MenuItem
Me.MenuItem2 = New System.Windows.Forms.MenuItem
Me.MenuItem3 = New System.Windows.Forms.MenuItem
Me.MenuItem4 = New System.Windows.Forms.MenuItem
Me.MenuItem6 = New System.Windows.Forms.MenuItem
Me.MenuItem7 = New System.Windows.Forms.MenuItem
Me.MenuItem8 = New System.Windows.Forms.MenuItem
Me.MenuItem9 = New System.Windows.Forms.MenuItem
Me.MenuItem10 = New System.Windows.Forms.MenuItem
Me.MenuItem11 = New System.Windows.Forms.MenuItem
Me.MenuItem12 = New System.Windows.Forms.MenuItem
Me.MenuItem13 = New System.Windows.Forms.MenuItem
Me.MenuItem14 = New System.Windows.Forms.MenuItem
Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
'
'MainMenu1
'
Me.MainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuSystem, Me.MenuItem1, Me.MenuItem7, Me.MenuItem10, Me.MenuItem13})
'
'MenuSystem
'
Me.MenuSystem.Index = 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -