日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

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

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

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

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

以下是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" '請求登陸的消息|||消息形式: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. '以下是服務(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ù)器正在啟動....")  
  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ù)器啟動成功.....")  
  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. 簡單講述VB.NET多重繼承
  3. 淺談VB.NET語言與.NET開發(fā)語言關(guān)系
  4. 講解VB.NET語言學(xué)習(xí)經(jīng)驗
  5. 淺析VB.NET語言到底帶來了什么

當(dāng)前文章:全面展示VB.NET服務(wù)器端
當(dāng)前URL:http://m.5511xx.com/article/djpjoeg.html