C# 多网卡 Server Listen

 更新时间:2007年04月16日 00:00:00   作者:  
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()); 

相关文章

  • 基于静态Singleton模式的使用介绍

    基于静态Singleton模式的使用介绍

    本篇文章小编为大家介绍,基于静态Singleton模式的使用介绍。需要的朋友参考下
    2013-04-04
  • Unity3D仿写Button面板事件绑定功能

    Unity3D仿写Button面板事件绑定功能

    这篇文章主要为大家详细介绍了Unity3D仿写Button面板事件绑定功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • C#的SQL操作类实例

    C#的SQL操作类实例

    这篇文章主要介绍了C#的SQL操作类实例,涉及到针对数据库的常用操作,在进行C#数据库程序设计中非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • C#如何使用Task类解决线程的等待问题

    C#如何使用Task类解决线程的等待问题

    这篇文章主要介绍了C#如何使用Task类解决线程的等待问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • C#实现获取文件大小并进行比较

    C#实现获取文件大小并进行比较

    这篇文章主要为大家详细介绍了C#如何实现获取文件大小进行单位转换与文件大小比较功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-03-03
  • Unity实现跑马灯抽奖效果

    Unity实现跑马灯抽奖效果

    这篇文章主要为大家详细介绍了Unity实现跑马灯抽奖效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • C# 如何添加错误日志信息

    C# 如何添加错误日志信息

    这篇文章主要介绍了C# 如何添加错误日志信息,错误日志是软件用来记录运行时出错信息的文本文件。编程人员和维护人员等可以利用错误日志对系统进行调试和维护。
    2020-11-11
  • C#实现将一个字符串进行翻转显示的6种方法

    C#实现将一个字符串进行翻转显示的6种方法

    下面小编就为大家分享一篇C#实现将一个字符串进行翻转显示的6种方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • C# Split分隔字符串的应用(C#、split、分隔、字符串)

    C# Split分隔字符串的应用(C#、split、分隔、字符串)

    C# Split分隔字符串主要包括用字符串分隔,用多个字符来分隔,用单个字符来分隔等方法实现,下面的具体的实现代码
    2008-11-11
  • C# List介绍及具体用法

    C# List介绍及具体用法

    这篇文章主要介绍了C# List介绍及具体用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论