请问在VB.NET中当服务端的TcpClient与客户端建立了一个新的联接后 服务端如何判断有新的客户端与自己建立了连接

murodoch 2006-06-08 09:19:13
如题:
当用下列代码与客户端建立了一个连接后 如何判断有新的连接加入进来了!

谢谢!Public Class Connector ' 用来侦听来自远程主机的联接以及获取消息 用到MainControler
Dim TcpListener As TcpListener
Dim TcpClient As TcpClient
Dim NetStream As NetworkStream
Dim StreamRead As StreamReader
Dim Stop_flag As Boolean = True
Dim Message As String
Dim Duplicate_of_Main_Controler As MainControler
Public Sub Quote(ByVal Main_Controler As MainControler)
Duplicate_of_Main_Controler = Main_Controler
End Sub
Public Sub Start() '需要用到MainControler
TcpListener = New TcpListener(8000)
TcpListener.Start()
TcpClient = TcpListener.AcceptTcpClient
NetStream = TcpClient.GetStream
StreamRead = New StreamReader(NetStream)
MessageBox.Show("连接已建立", "建立一个新的联接")
Do While Stop_flag
Message = StreamRead.ReadLine
MessageBox.Show(Message, "")
Duplicate_of_Main_Controler.Get_or_Set_Message = Message
Duplicate_of_Main_Controler.Main_Processer()
Loop
End Sub
End Class
...全文
249 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyfer 2006-06-08
  • 打赏
  • 举报
回复
当有连接请求时,由请求方向服务器发送消息,再由服务器转发你的客户端
晓轩 2006-06-08
  • 打赏
  • 举报
回复
如果没有连接会停在这里 TcpListener.Start()
如果程序执行到这里说明有连接建立 TcpClient = TcpListener.AcceptTcpClient
murodoch 2006-06-08
  • 打赏
  • 举报
回复
如果没有连接会停在这里 TcpListener.Start()
如果程序执行到这里说明有连接建立 TcpClient = TcpListener.AcceptTcpClient
----------------------------------------------------------------------------

你误解了我的意思 我是说在一个客户端与服务端建立了连接后 另外一个客户端与这个服务端进行连接 如何判断有新的连接的到来!

我让客户端与服务端建立了连接后 立即向服务端发送一个消息 服务端可以接受并显示第一个与服务端进行连接的客户端发送过来的消息 但是第二个 第三个进行连接的客户端发送的消息则没有办法显示出来

下面是客户端的一段进行连接的代码
Dim ipRemote As IPAddress
Dim sHostName As String
Dim tcpClient As TcpClient
Duplicate_Get_IP.Get_Client_IP()
Mac_IP = Duplicate_Get_IP.Mac_IP
Try
ipRemote = IPAddress.Parse(TextBox1.Text)
Catch
MessageBox.Show("输入的IP地址不合法!", "错误提示!")
Return
'判断给定的IP地址的合法性
End Try
Try
tcpClient = New TcpClient(TextBox1.Text, 8000)
'对远程主机的8000端口提出TCP连接申请
nsStream = tcpClient.GetStream()
'通过申请,并获取传送数据的网络基础数据流
swWriter = New StreamWriter(nsStream)
'使用获取的网络基础数据流来初始化StreamWriter实例

Button2.Enabled = True
tcpConnect = True
StatusBar1.Text = "已经连接!"
swWriter.WriteLine(Mac_IP + " " + "Add_Me" + " ")
swWriter.Flush()
tcpClient.Close()
Catch
MessageBox.Show("无法和远程主机8000端口建立连接!", "错误提示!")
Return
End Try

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧