手机
当前位置:查字典教程网 >编程开发 >C#教程 >C# 多网卡 Server Listen
C# 多网卡 Server Listen
摘要:VC和BCB中做一个Server的监听程序,只需要指定端口,然后监听(Listen)就行了.在C#找不到这个函数了,慢慢看MSDN,怎么需要...

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类别形成连接至服务的连接点(ConnectionPoint)。

[C#]

//CreatesaninstanceoftheTcpListenerclassbyprovidingalocalendpoint.

IPAddressipAddress=Dns.Resolve(Dns.GetHostName()).AddressList[0];

IPEndPointipLocalEndPoint=newIPEndPoint(ipAddress,11000);

try{

TcpListenertcpListener=newTcpListener(ipLocalEndPoint);

}

catch(Exceptione){

Console.WriteLine(e.ToString());

}

【C# 多网卡 Server Listen】相关文章:

C#异步调用的好处和方法分享

基于C#后台调用跨域MVC服务及带Cookie验证的实现

使用c#在word文档中创建表格的方法详解

重写、隐藏基类(new, override)的方法

C# 调用Delphi dll 实例代码

在Winform和WPF中注册全局快捷键实现思路及代码

深入C# winform清除由GDI绘制出来的所有线条或图形的解决方法

c# 委托和事件实例学习

c# 应用事务的简单实例

C#词法分析器之输入缓冲和代码定位的应用分析

精品推荐
分类导航