91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現VB.NET服務器端

發布時間:2021-12-02 09:50:11 來源:億速云 閱讀:369 作者:小新 欄目:編程語言

小編給大家分享一下如何實現VB.NET服務器端,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

這是用VB.NET實現的一個簡單的P2P示例,利用了UDP打洞技術.分服務器端跟客戶端,VB.NET服務器端負責登陸記錄用戶的IP和端口及轉發打洞消息(相關技術在CSDN搜一下,有很多的),原理到處都有,這里貼出了VB.NET的代碼,供初學者交流,也歡迎高手點評。

VB.NET服務器端在啟動成功后,輸入help可以查看到服務器相關命令。客戶端在登陸成功后,輸入help可以查看客戶端相關命令。(登陸時用戶名隨便)

以下是VB.NET服務器端:

  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 "參數"  

  25.  

  26. '以下是客戶端到服務器端的消息開頭  

  27. Const LOGININ As String = "10" '請求登陸的消息|||消息形式:10+自己的用戶名  

  28. Const LOGINOUT As String = "11" '請求登出的消息|||消息形式:11+自己的用戶名  

  29. Const GETULIST As String = "12" '請求獲得在線用戶列表|||消息形式:12  

  30. Const P2PCONN As String = "13" '請求P2P連接的消息|||消息形式:13+自己的用戶名+|+對方的用戶名  

  31. Const HOLDLINE As String = "14" '保持連接.|||消息開式:14+自己的用戶名  

  32.  

  33. '以下是服務器到客戶端的消息開頭  

  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" '服務器關閉  

  39. Const MSGEND As String = "25" '消息結束  

  40.  

  41. '以下是服務器端的命名  

  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. '主函數,程序入口  

  51. Sub Main()  

  52.  

  53. '獲得服務器的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("服務器正在啟動....")  

  59. Console.WriteLine("服務器IP:" & ServerIP.ToString & " 正在監聽" & ipep.Port.ToString & "端口")  

  60. Dim listenTH As New Thread(AddressOf listen)  

  61. listenTH.Start() '啟用監聽的線程  

  62. Console.WriteLine("服務器啟動成功.....")  

  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:輸出當前程序" & Chr(10) & Chr(13) & 
    "showuser:顯示當前在線用戶例表" & 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  

以上是“如何實現VB.NET服務器端”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

哈尔滨市| 宜章县| 门源| 阿瓦提县| 武强县| 宜丰县| 大邑县| 临洮县| 济阳县| 望城县| 铁力市| 竹北市| 昌吉市| 清流县| 安福县| 碌曲县| 喀喇沁旗| 东方市| 神农架林区| 牟定县| 长葛市| 平罗县| 公主岭市| 罗平县| 余干县| 南雄市| 自治县| 连南| 灵武市| 丰宁| 雅安市| 报价| 丹寨县| 雷山县| 驻马店市| 永安市| 安庆市| 东阳市| 屏东市| 沙雅县| 华蓥市|