?? clsserver.vb
字號:
?'****************************************************************************
'人人為我,我為人人
'枕善居漢化收藏整理
'發布日期:2007/07/23
'描 述:網吧計費管理系統客戶端/服務器端
'網 站:http://www.Mndsoft.com/ (VB6源碼博客)
'網 站:http://www.VbDnet.com/ (VB.NET源碼博客,主要基于.NET2005)
'e-mail :Mndsoft@163.com
'e-mail :Mndsoft@126.com
'OICQ :88382850
' 如果您有新的好的代碼別忘記給枕善居哦!
'****************************************************************************
Imports System.Net.Sockets
Public Class ClsServer
Dim clients As New Hashtable
Const PORT_NUM As Integer = 10000
Private listener As TcpListener
Public Event StatusChanged()
Public Sub DoListen()
listener = New TcpListener(System.Net.IPAddress.Any, PORT_NUM)
listener.Start()
Do
Dim client As New ClsUser
client.Init(listener.AcceptTcpClient)
AddHandler client.LineRecived, AddressOf OnLineReceived
Loop Until False
End Sub
Private Sub OnLineReceived(ByVal sender As Object, ByVal data As String)
Dim dataArray() As String
dataArray = data.Split(",")
Dim TempDBComputer As New ClsComputer
TempDBComputer.ComputerName = dataArray(1)
Select Case dataArray(0)
Case "CONNECT"
If TempDBComputer.ComputerExist = False Then
MsgBox("未知計算機,計算機名稱(MAC地址)為 " & dataArray(1), MsgBoxStyle.Exclamation, "計算機機房管理系統")
Exit Sub
End If
If clients.Contains(dataArray(1)) = False Then
'用計算機名來標識Socket對象
clients.Add(dataArray(1), sender)
Else
clients.Remove(dataArray(1))
clients.Add(dataArray(1), sender)
End If
TempDBComputer.IPAddress = dataArray(2)
TempDBComputer.Connected = "是"
TempDBComputer.UpdateConnect()
RaiseEvent StatusChanged()
Case "LOGIN"
CType(sender, ClsUser).UserName = dataArray(3)
CType(sender, ClsUser).Password = dataArray(4)
Dim Result As Integer = CType(sender, ClsUser).LogConfirm
CType(sender, ClsUser).SendData("LOGIN," & Result.ToString)
TempDBComputer.UserName = dataArray(3)
If Result = 1 Then
TempDBComputer.UpdateUserLogin()
CType(sender, ClsUser).LoginTime = Now
End If
RaiseEvent StatusChanged()
Case "LOGOFF"
TempDBComputer.GetInfo()
TempDBComputer.UserName = dataArray(3)
TempDBComputer.UpdateUserLogoff()
CType(sender, ClsUser).GetInfo()
CType(sender, ClsUser).LogoffTime = Now
CType(sender, ClsUser).Checkout()
CType(sender, ClsUser).AddFeeList(TempDBComputer.RoomNo.ToString & "-" & TempDBComputer.PositionNo.ToString)
CType(sender, ClsUser).SendData("LOGOFF," & CType(sender, ClsUser).Fee.ToString)
RaiseEvent StatusChanged()
End Select
End Sub
Public Sub Broad(ByVal Message As String)
Dim client As ClsUser
Dim entry As DictionaryEntry
For Each entry In clients
client = CType(entry.Value, ClsUser)
client.SendData(Message)
Next
End Sub
End Class
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -