自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全面展示VB.NET服務(wù)器端

開發(fā) 后端
這里介紹VB.NET服務(wù)器端負(fù)責(zé)登陸記錄用戶的IP和端口及轉(zhuǎn)發(fā)打洞消息(相關(guān)技術(shù)在CSDN搜一下,有很多的),原理到處都有,這里就沒有貼出來。

VB.NET還是比較常用的,于是我研究了一下VB.NET服務(wù)器端,在這里拿出來和大家分享一下,希望對(duì)大家有用。

這是用VB.NET實(shí)現(xiàn)的一個(gè)簡(jiǎn)單的P2P示例,利用了UDP打洞技術(shù).分服務(wù)器端跟客戶端,VB.NET服務(wù)器端負(fù)責(zé)登陸記錄用戶的IP和端口及轉(zhuǎn)發(fā)打洞消息(相關(guān)技術(shù)在CSDN搜一下,有很多的),原理到處都有,這里貼出了VB.NET的代碼,供初學(xué)者交流,也歡迎高手點(diǎn)評(píng)。

VB.NET服務(wù)器端在啟動(dòng)成功后,輸入help可以查看到服務(wù)器相關(guān)命令??蛻舳嗽诘顷懗晒?,輸入help可以查看客戶端相關(guān)命令。(登陸時(shí)用戶名隨便)

以下是VB.NET服務(wù)器端:

  1. Imports System.Net  
  2. Imports System.Net.Sockets  
  3. Imports System.Text  
  4. Imports System.Threading  
  5. Imports System.Collections  
  6.  
  7. Module myUDPServer  
  8.  
  9. #Region "全局變量"  
  10.  
  11. Dim ServerSocket As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)  
  12. Dim ipep As IPEndPoint = New IPEndPoint(IPAddress.Any, 11000)  
  13.  
  14. Dim htUserList As New Hashtable '用來保存在線用戶和用戶的"IP和端口"  
  15.  
  16. Dim userName(0) As String  
  17. Dim userIPEP(0) As IPEndPoint  
  18. Dim userTime(0) As Integer  
  19.  
  20. Dim timerDelegate As New TimerCallback(AddressOf onLineTimeOut)  
  21.  
  22. #End Region  
  23.  
  24. #Region "參數(shù)"  
  25.  
  26. '以下是客戶端到服務(wù)器端的消息開頭  
  27. Const LOGININ As String = "10" '請(qǐng)求登陸的消息|||消息形式:10+自己的用戶名  
  28. Const LOGINOUT As String = "11" '請(qǐng)求登出的消息|||消息形式:11+自己的用戶名  
  29. Const GETULIST As String = "12" '請(qǐng)求獲得在線用戶列表|||消息形式:12  
  30. Const P2PCONN As String = "13" '請(qǐng)求P2P連接的消息|||消息形式:13+自己的用戶名+|+對(duì)方的用戶名  
  31. Const HOLDLINE As String = "14" '保持連接.|||消息開式:14+自己的用戶名  
  32.  
  33. '以下是服務(wù)器到客戶端的消息開頭  
  34. Const HVUSER As String = "20" '用戶名已存在  
  35. Const GETUSER As String = "21" '在線用戶列表|||消息格式:21+用戶名+EP  
  36. Const MAKHOLD As String = "22" '打洞命令|||消息格式:22+IP  
  37. Const LOGINOK As String = "23" '登陸成功  
  38. Const SERVCLS As String = "24" '服務(wù)器關(guān)閉  
  39. Const MSGEND As String = "25" '消息結(jié)束  
  40.  
  41. '以下是服務(wù)器端的命名  
  42. Const EXITPRO As String = "EXIT" '退出命令  
  43. Const SHOWULIST As String = "SHOWUSER" '顯示在線用戶  
  44. Const HELP As String = "HELP" '顯示幫助  
  45.  
  46. #End Region  
  47.  
  48. #Region "方法"  
  49.  
  50. '主函數(shù),程序入口  
  51. Sub Main()  
  52.  
  53. '獲得服務(wù)器的IP地址  
  54. Dim addressList As System.Net.IPAddress() = Dns.GetHostByName(Dns.GetHostName()).AddressList  
  55. Dim ServerIP As IPAddress = addressList(0)  
  56.  
  57. ServerSocket.Bind(ipep)  
  58. Console.WriteLine("服務(wù)器正在啟動(dòng)....")  
  59. Console.WriteLine("服務(wù)器IP:" & ServerIP.ToString & " 正在監(jiān)聽" & ipep.Port.ToString & "端口")  
  60. Dim listenTH As New Thread(AddressOf listen)  
  61. listenTH.Start() '啟用監(jiān)聽的線程  
  62. Console.WriteLine("服務(wù)器啟動(dòng)成功.....")  
  63.  
  64. Dim timer As New Timer(timerDelegate, Nothing, 0, 5000)  
  65.  
  66. Dim SVInput As String  
  67. While True  
  68. Console.Write("Server>")  
  69. SVInput = Console.ReadLine().ToUpper  
  70. Select Case SVInput  
  71. Case EXITPRO  
  72. listenTH.Abort()  
  73. ServerSocket.Close()  
  74. Exit Sub  
  75. Case SHOWULIST  
  76. showUser()  
  77. Case HELP  
  78. Console.Write("*" & Chr(10) & Chr(13) & "exit:輸出當(dāng)前程序" & Chr(10) & Chr(13) & 
    "showuser:顯示當(dāng)前在線用戶例表" & Chr(10) & Chr(13) & 
    "help:顯示幫助" & Chr(10) & Chr(13) & "*" & Chr(10) & Chr(13))  
  79. Case Else  
  80. Console.WriteLine("*" & Chr(10) & Chr(13) 
    & "笨瓜,你輸入的不是有效的命令." & Chr(10) & Chr(13) & "*")  
  81. End Select  
  82. End While  
  83.  
  84. End Sub  

【編輯推薦】

  1. 描述VB.NET EIF體系
  2. 簡(jiǎn)單講述VB.NET多重繼承
  3. 淺談VB.NET語言與.NET開發(fā)語言關(guān)系
  4. 講解VB.NET語言學(xué)習(xí)經(jīng)驗(yàn)
  5. 淺析VB.NET語言到底帶來了什么
責(zé)任編輯:佚名 來源: sogo
相關(guān)推薦

2009-10-28 17:44:31

VB.NET語言

2014-11-14 11:03:56

微軟.NET

2009-10-28 10:04:53

VB.NET XmlW

2009-11-02 14:48:45

VB.NET HOOK

2009-11-02 15:57:36

VB.NET WEB

2009-10-15 11:42:05

VB.Net賦值語句

2009-11-10 16:46:52

VB.NET指針應(yīng)用

2009-07-27 12:56:27

控件CheckBoxLASP.NET服務(wù)器

2009-10-15 10:57:16

VB.NET Text

2009-10-14 15:20:21

VB.NET窗體指針

2009-11-04 10:54:53

VB.NET MOVE

2009-10-29 15:16:02

VB.NET文件傳送

2010-01-22 14:51:31

VB.NET修改代理服

2009-10-20 17:38:20

VB.NET exce

2009-11-10 16:20:25

VB.NET全局熱鍵

2009-10-29 11:26:28

VB.NET調(diào)用Web

2009-10-27 09:45:03

VB.NET數(shù)組

2009-10-15 17:50:48

VB.NET調(diào)用API

2009-10-23 10:01:28

VB.NET申明Win

2012-10-15 13:40:15

IBMdw
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)