永发信息网

vb.net socket 编程问题(帮我把粗体字部分解释一下)

答案:1  悬赏:60  手机版
解决时间 2021-05-16 01:05

Imports System.Net
Imports System.Net.Sockets
Imports System.Threading
Imports System.Text
Imports System.Diagnostics

Public Class frmServer

'服务端的Socket
Dim listener As Socket
'与客户端会话的Socket
Dim mySocket As Socket
'服务端的运行状态
Dim IsRun As Boolean = False
'监听接收数据线程
Dim myThread As Thread

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
myThread = New Thread(AddressOf Listen)
myThread.Start()
End Sub

Public Sub Listen()
Dim bytes() As Byte = New [Byte](1024) {}
Dim data As String = String.Empty
Dim tokens() As String

Dim localEndPoint As New
IPEndPoint(Net.IPAddress.Parse("127.0.0.1"), 11000)
'初始化socket
listener = New Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp)
'绑定端口
listener.Bind(localEndPoint)
'开始监听
listener.Listen(10)

BeginInvoke(New EventHandler(AddressOf AddInfo),
"服务端已启动,正在等待连接......")

mySocket = listener.Accept()
IsRun = True

While True
Dim bytesRec As Integer = mySocket.Receive(bytes)
data = Encoding.UTF8.GetString(bytes, 0, bytesRec)

tokens = data.Trim.Split("|")
Select Case tokens(0) '分析接收到的数据,可自己定义更多一些
Case "Chat"
BeginInvoke(New EventHandler(AddressOf AddInfo),
tokens(1)) 'Invoke保证线程安全
Case "Exit"
IsRun = False
BeginInvoke(New EventHandler(AddressOf AddInfo),
tokens(1)) 'Invoke保证线程安全
mySocket.Shutdown(SocketShutdown.Both)
mySocket.Close()
Exit Sub
End Select
End While

End Sub

最佳答案

mySocket = listener.Accept() '响应联结请求,并且新建一个套接口。原来的套接口则返回监听状态。

Dim bytesRec As Integer = mySocket.Receive(bytes) '接收数据到bytes数组
data = Encoding.UTF8.GetString(bytes, 0, bytesRec) '将接收到的数据用UTF8编码转为字串


tokens = data.Trim.Split("|") '以 "|" 格式化字串(拆分)

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
财会专业对应那些职业群?
QQ地理位置不对
湖北孝感三里棚小学借读费多少?《现在从1年
梦幻西游为什么那么卡
掇刀区荆门森林人俱乐部彭登分部地址有谁知道
初级计算机证有什么用啊
网易这么烂怎么不关门啊
浙江卫视周年庆是什么时候?
QQ绿钻被冻结是怎么回事?
玩过魔兽世界台服的童鞋们请进
建华区齐齐哈尔重庆刘一手火锅(齐大店)在哪里
RCEYCLER这个文件夹怎么删除
旅游经济宏观调控的内容?
关于秋天伤感的古诗句,有哲理,伤感,令人意
DNF..最好的是那个区?、、、、
推荐资讯
济源市济源实惠饭店地址是什么,有没有知道的
音速最新变性方法
一条狗的使命结尾语录,一条狗的使命
axe沐浴露和香水在哪里可以买到呢?
诺基亚5611XM是否有智能鍵
QQ幻想世界问两个称号
湖南工业职业技术学院有分否
江汉区武汉尊宝比萨(长港路店)地址有谁知道?
2010年最多人的游戏是什么游戏?
截止2009年10月底中国现在有多少民族?
祝福的数字红包生病,老年人去世红包写什麼祝
平桥区信阳新悦蛋糕我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?