返回顶部
首页 > 资讯 > 服务器 >如何实现VB.NET服务器端
  • 675
分享到

如何实现VB.NET服务器端

2023-06-17 21:06:51 675人浏览 独家记忆
摘要

小编给大家分享一下如何实现VB.NET服务器端,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!这是用VB.net实现的一个简单的P2P示例,利用了UDP打洞技术.分

小编给大家分享一下如何实现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服务器端”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网服务器频道!

--结束END--

本文标题: 如何实现VB.NET服务器端

本文链接: https://lsjlt.com/news/293059.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何实现VB.NET服务器端
    小编给大家分享一下如何实现VB.NET服务器端,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!这是用VB.NET实现的一个简单的P2P示例,利用了UDP打洞技术.分...
    99+
    2023-06-17
  • VB.NET如何实现Web Service
    VB.NET如何实现Web Service,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。VB.NET实现Web Service.NET的大的推动了Web Ser...
    99+
    2023-06-17
  • VB.NET如何实现水印
    这篇文章主要介绍了VB.NET如何实现水印,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。水印技术VB.NET水印类(watermark)包含很多属性,可用于测定在原图像的哪个...
    99+
    2023-06-17
  • VB.NET如何实现拖放
    本篇文章为大家展示了VB.NET如何实现拖放,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。VB.NET还是比较常用的,于是我研究了一下VB.NET实现拖放,在这里拿出来和大家分享一下,希望对大家有用...
    99+
    2023-06-17
  • VB.NET如何实现Web app
    这篇文章给大家分享的是有关VB.NET如何实现Web app的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在新建VB.NET工程时有下面几个选项:类库:一组没有GUI的类库,类似于Java中的bean。一些公用模...
    99+
    2023-06-17
  • VB.NET程序中如何扫描客户端服务
    这篇文章主要为大家展示了“VB.NET程序中如何扫描客户端服务”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET程序中如何扫描客户端服务”这篇文章吧。在大中型企业信息系统中,对客户端PC...
    99+
    2023-06-17
  • java WebSocket 服务端如何实现
    这篇文章给大家分享的是有关java WebSocket 服务端如何实现的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是WebSocket  WebSocket协议是基于TCP的一种新的网络...
    99+
    2023-06-29
  • alibaba seata服务端如何实现
    这篇文章给大家分享的是有关alibaba seata服务端如何实现的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。seata是什么?seata是来处理分布式服务之间互相调用的事务问题。Seata术语TC ...
    99+
    2023-06-29
  • VB.NET如何实现继承类
    这篇文章主要为大家展示了“VB.NET如何实现继承类”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET如何实现继承类”这篇文章吧。VB.NET继承类是一个这样的特征即允许你扩展类,如果你...
    99+
    2023-06-17
  • VB.NET如何实现类构造
    这篇文章将为大家详细讲解有关VB.NET如何实现类构造,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。VB.NET类我在以前的文章里曾经提到:VB.NET的出现使得VB6在类的概念及其操作上发生了巨大的变化...
    99+
    2023-06-17
  • VB.NET如何实现DES加密
    这篇文章主要介绍了VB.NET如何实现DES加密,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。VB.NET DES加密代码:Imports System ...
    99+
    2023-06-17
  • 如何掌握VB.NET实现任务栏程序
    这篇文章给大家介绍如何掌握VB.NET实现任务栏程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。VB.NET在实际应用中的应用范围是非常广泛的。那么就让我们来了解一下VB.NET实现任务栏程序的实现方法,来体验VB....
    99+
    2023-06-17
  • VB.NET如何实现过程重载
    这篇文章主要介绍了VB.NET如何实现过程重载,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。VB.NET过程重载是指使用相同的名称和不同的参数列表在多个版本中定义某个过程。重...
    99+
    2023-06-17
  • VB.NET如何实现集合存储
    这篇文章将为大家详细讲解有关VB.NET如何实现集合存储,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。大多数程序处理对象集合而不是单个的对象。对于集合数据,首先创建一个数组(或者是其他类型的集合,比如Ar...
    99+
    2023-06-17
  • VB.NET如何实现事件触发
    这篇文章主要为大家展示了“VB.NET如何实现事件触发”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET如何实现事件触发”这篇文章吧。VB.NET中的事件是一个非常重要的概念。对于初学者...
    99+
    2023-06-17
  • VB.NET如何实现文件上传
    这篇文章主要为大家展示了“VB.NET如何实现文件上传”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET如何实现文件上传”这篇文章吧。利用VB.NET向服务器上传文件VB.NET文件上传...
    99+
    2023-06-17
  • VB.NET如何实现数据绑定
    这篇文章主要为大家展示了“VB.NET如何实现数据绑定”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET如何实现数据绑定”这篇文章吧。数据绑定技术是用.Net程序开发语言进行数据方面编程...
    99+
    2023-06-17
  • VB.NET如何实现数据转换
    这篇文章给大家分享的是有关VB.NET如何实现数据转换的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。VB.NET数据转换的方法有很多种,要想熟练的掌握好这些实用技巧,就需要通过不断的实践去积累经验,来熟练掌握这一...
    99+
    2023-06-17
  • VB.NET如何实现相框效果
    小编给大家分享一下VB.NET如何实现相框效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!VB.NET相框效果实现代码示例:Imports Syste...
    99+
    2023-06-17
  • VB.NET如何实现特殊窗体
    这篇文章主要介绍VB.NET如何实现特殊窗体,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!VB.NET特殊窗体1 、轻松制作透明窗体VB.NET可以轻松制作出任一透明度的窗体:我们只要在窗体的“属性”窗口中,将 Op...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作