问两个和 TCP 有关的问题!!

fuyiyong 2006-05-19 07:46:45
1.TCPListener 如果用默认的本机IP地址作为服务器地址,也就是用TcpListener(int port)这个构造,如果当前机子上有多个IP地址它会选哪个?是第一个还是别的什么?它是怎么取的?
2.TCPListener 在一个端口上侦听连接,在这个端口上能不能同时和多个Client连,如果不能的话怎样做才能起到这样的效果呢?

请各位大哥帮忙看看...
...全文
97 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuyiyong 2006-05-22
  • 打赏
  • 举报
回复
IPAddress.Any 提供一个 IP 地址,指示服务器应侦听所有网络接口上的客户端活动。
这个可以用,它会在本机所有的IP上侦听.

第二个问题可以用 chendazhi 的方法.

wlei9802 2006-05-20
  • 打赏
  • 举报
回复
http://www.chinaworkroom.com/Bbs/ViewTopic.aspx?TopicID=200&boardID=8
转载别人的文章。
泡沫游走 2006-05-19
  • 打赏
  • 举报
回复
2.TCPListener 在一个端口上侦听连接,在这个端口上能不能同时和多个Client连,如果不能的话怎样做才能起到这样的效果呢?

可以和多个Client连接,在服务端为每个接入的Client实例化一个对象与其通讯
如:
'开启后台侦听线程,
Private Sub DoListen()
'Dim getIP As GetIP
Dim localAddr As IPAddress = Dns.GetHostEntry(GetIP.SeverIP).AddressList(0)
Try
' 侦听连接
listener = New TcpListener(localAddr, PORT_NUM)
listener.Start()
Do
'创建新用户TcpClient接入
Dim client As New UserConnection(listener.AcceptTcpClient)
' 创建事件句柄,允许用户接入
AddHandler client.LineReceived, AddressOf OnLineReceived
UpdateStatus("一个新连接接入: 正在登录中....")
Loop Until False
Catch
End Try
End Sub
泡沫游走 2006-05-19
  • 打赏
  • 举报
回复
1.TCPListener 如果用默认的本机IP地址作为服务器地址,也就是用TcpListener(int port)这个构造,如果当前机子上有多个IP地址它会选哪个?是第一个还是别的什么?它是怎么取的?

tcpl = new TcpListener(IPAddress .Parse( "168.192.1.195"), 5656);
Knight94 2006-05-19
  • 打赏
  • 举报
回复
to 2.TCPListener 在一个端口上侦听连接,在这个端口上能不能同时和多个Client连,如果不能的话怎样做才能起到这样的效果呢?

一般来说,对于一个client,绑定ip和port,那么就对于此ip这个端口进行监听,那么当建立连接。一般来说,都是通过TCPClient去产生一个NetworkStream去监听当前ip这个端口是否有数据传送过来;而用socket去发送消息。
Knight94 2006-05-19
  • 打赏
  • 举报
回复
to 1.TCPListener 如果用默认的本机IP地址作为服务器地址,也就是用TcpListener(int port)这个构造,如果当前机子上有多个IP地址它会选哪个?是第一个还是别的什么?它是怎么取的?

你是可以绑定ip的,即多个ip,那么你可以指定其绑定ip。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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