嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
Socket 客户端与服务端对话工具
核心代码:
Private Sub RunServer()
Dim ConClient As Socket
Dim strClientName As String = ""
Dim bCExist As Boolean '客户端是否已经在列表中
Dim ClientIpEP As IPEndPoint
Dim CNetWorkStream As NetworkStream
Dim Reader As BinaryReader
Do
bCExist = False
ConClient = CTcpListener.AcceptSocket '接收客户端的连接,返回一个socket
SentButton.Enabled = True
Try
ClientIpEP = CType(ConClient.RemoteEndPoint, IPEndPoint) '获取socket的ipendpoint
strClientName = Dns.GetHostEntry(ClientIpEP.Address).HostName '获取客户端的名称
Catch ex As SocketException
ClientIpEP = Nothing
MessageBox.Show(ex.Message)
Continue Do
End Try
'检测该客户端是否已在列表中
Dim strName As String = ""
For Each strName In ClientListBox.Items
If String.Compare(strClientName, strName) = 0 Then
bCExist = True
'Exit For '存在则退出查找
End If
Next
' 客户列表中添加客户
If bCExist = False Then
ClientListBox.Items.Add(strClientName)
HistoryRichText.SelectionColor = Color.Green
HistoryRichText.AppendText(strClientName & " 加入会话" & vbCrLf)
HistoryRichText.ScrollToCaret()
Continue Do
End If
Try
CNetWorkStream = New NetworkStream(ConClient)
Reader = New BinaryReader(CNetWorkStream)
HistoryRichText.SelectionColor = Color.Blue
HistoryRichText.AppendText(strClientName & "说" & vbCrLf)
HistoryRichText.SelectionColor = Color.Black
HistoryRichText.AppendText(Reader.ReadString() & vbCrLf)
HistoryRichText.ScrollToCaret()
Catch ex As Exception
MsgBox(ex.Message)
Finally
ClientIpEP = Nothing
CNetWorkStream = Nothing
Reader = Nothing
End Try
ConClient.Disconnect(True) ' 关闭套接字
Loop
System.Environment.Exit(System.Environment.ExitCode)
End Sub