日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
全面展示VB.NET服務器端

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

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供閔行企業(yè)網(wǎng)站建設,專注與做網(wǎng)站、網(wǎng)站制作、H5技術、小程序制作等業(yè)務。10年已為閔行眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設計公司優(yōu)惠進行中。

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

VB.NET服務器端在啟動成功后,輸入help可以查看到服務器相關命令??蛻舳嗽诘顷懗晒螅斎雋elp可以查看客戶端相關命令。(登陸時用戶名隨便)

以下是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 "參數(shù)"  
  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. '主函數(shù),程序入口  
  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 & " 正在監(jiān)聽" & ipep.Port.ToString & "端口")  
  60. Dim listenTH As New Thread(AddressOf listen)  
  61. listenTH.Start() '啟用監(jiān)聽的線程  
  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  

【編輯推薦】

  1. 描述VB.NET EIF體系
  2. 簡單講述VB.NET多重繼承
  3. 淺談VB.NET語言與.NET開發(fā)語言關系
  4. 講解VB.NET語言學習經(jīng)驗
  5. 淺析VB.NET語言到底帶來了什么

本文名稱:全面展示VB.NET服務器端
網(wǎng)站地址:http://www.dlmjj.cn/article/djpjoeg.html