当前位置:  编程技术>.net/c#/asp.net

C# 多网卡 Server Listen

    来源: 互联网  发布时间:2014-10-13

    本文导语:  VC和BCB中做一个Server的监听程序,只需要指定端口,然后监听(Listen)就行了.在C#找不到这个函数了,慢慢看MSDN,怎么需要指定IP和Port才能监听,那么多网卡的机器应该怎么写程序呢?下面的程序可以解释怎么去做.  TcpListener 类别会提...

VC和BCB中做一个Server的监听程序,只需要指定端口,然后监听(Listen)就行了.在C#找不到这个函数了,慢慢看MSDN,怎么需要指定IP和Port才能监听,那么多网卡的机器应该怎么写程序呢?下面的程序可以解释怎么去做. 
TcpListener 类别会提供简易的方法,用以在封锁的同步模式中聆听 (Listen) 和接受输入的连接要求。您可以使用 TcpClient 或 Socket 来连接 TcpListener 。使用 IPEndPoint 、本机 IP 地址和连接端口编号,或者就只用连接埠编号来建立 TcpListener 。如果您想要基础服务供货商为您指派那些值,请指定 Any 给本机 IP 地址和 0 给本机连接埠编号。如果选择要这样做,您可以使用 LocalEndpoint 来识别指派的信息。 
使用 Start 方法开始聆听输入的连接要求。 Start 将会让输入的连接进入队列等候,一直到不是呼叫了 Stop 方法,就是已经将 MaxConnections 排入队列为止。使用 AcceptSocket 或 AcceptTcpClient ,从输入的连接要求队列取出连接。这两个方法将会封锁。如果想要避免封锁,您可以先使用 Pending 方法来判断连接要求是否可在队列中取得。 
呼叫 Stop 方法关闭 TcpListener 。 
这个建构函式可以让您指定要聆听输入连接尝试的本机 IP 地址和连接端口编号。使用这个建构函式之前,您必须使用所需的本机 IP 地址和连接端口编号来建立 IPEndPoint 。将这个 IPEndPoint 当作 localEP 参数传递给建构函式。 
如果您不在乎要指派哪个本机地址,则可使用 IPAddress.Any 做为地址参数以建立 IPEndPoint ,而基础服务供货商将会指派最适当的网络地址。如果您有多个网络接口,这可能有助于简化应用程序。如果您不在乎要使用哪个本机连接埠,则可以指定 0 做为连接埠编号来建立 IPEndPoint 。在这种情况下,服务供货商将会指派介于 1024 和 5000 之间的可用连接埠编号。如果您使用这个途径,则可以藉由使用 LocalEndpoint 属性来探索什么局域网络地址和连接端口编号已经被指派。 
呼叫 Start 方法以开始聆听输入的连接尝试。 
IPEndPoint 类别包含主机以及应用程序连接到主机服务所需的通讯端口信息。藉由结合主机的 IP 地址和服务的通讯端口编号, IPEndPoint 类别形成连接至服务的连接点 (Connection Point)。 
[C#] 
//Creates an instance of the TcpListener class by providing a local endpoint. 
IPAddress ipAddress = Dns.Resolve(Dns.GetHostName()).AddressList[0]; 
IPEndPoint ipLocalEndPoint = new IPEndPoint(ipAddress, 11000); 
try{ 
TcpListener tcpListener = new TcpListener(ipLocalEndPoint); 

catch ( Exception e ){ 
Console.WriteLine( e.ToString()); 


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 无线网卡工作模式介绍以及如何设置工作模式
  • 如何保证一个网卡采集到的数据包从另一个网卡转发出去使得采集网卡不丢包
  • linux/Centos下查看和修改网卡Mac地址(ifconfig命令)
  • 4块网卡,如何绑定成看上去只有逻辑上的2个网卡,达到一种物理上的网卡备份效果?
  • centos6网络配置及网卡设置相关命令及配置文件
  • 为什么内部网卡可以启动?另一块网卡不能自启动?
  • 最新CentOS 7中文正式版64位下载、安装及CentOS网卡IP配置(ifconfig)(图文)
  • 怎么配置网卡,是不是红帽linux9要装网卡驱动啊
  • 我在安装netware 操作系统时, 在选择网卡型号时, 找不到我的网卡的型号, 请问怎样办?
  • SCO Unix5下如何装网卡?如何一块网卡配两个IP
  • 用程序如何判断主板上是双网卡还是单网卡呢?
  • sco unix5.0.7的网卡驱动那里有,网卡是8139
  • 走虚拟网卡内核程序和走物理网卡应用程序结合问题
  • linux下多网卡机器中,如何通过指定网卡来接受数据?
  • 关于两个网卡的网卡驱动程序编写的问题?
  • 双网卡搭建网桥后,怎样确定数据包是从那个网卡进来的?(LINUX)
  • LINUX中装了三个网卡,三个网卡都是同个IP段,如何让他们不能互相访问?
  • DHCPD服务开启不了,系统提示:我要声明某个网卡(因为我有两块网卡),不知道怎么搞
  • 求redhat9 下 x5dpa-GG的网卡驱动,装好机器后认不出网卡
  • 网卡刚开机时好的,但Redhat9起来后,网卡的屁股就不闪了,需要多次挺拔网线才行
  • 如何手动调整网卡的half duplex & full duplex ?如何手动调整网卡的10/100M速度?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3