C# 多网卡 Server Listen

server

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());

}

时间: 2024-10-27 13:48:19

C# 多网卡 Server Listen的相关文章

C# 多网卡 Server Listen_C#教程

VC和BCB中做一个Server的监听程序,只需要指定端口,然后监听(Listen)就行了.在C#找不到这个函数了,慢慢看MSDN,怎么需要指定IP和Port才能监听,那么多网卡的机器应该怎么写程序呢?下面的程序可以解释怎么去做.  TcpListener 类别会提供简易的方法,用以在封锁的同步模式中聆听 (Listen) 和接受输入的连接要求.您可以使用 TcpClient 或 Socket 来连接 TcpListener .使用 IPEndPoint .本机 IP 地址和连接端口编号,或者就

Node.js HTTP Server对象及GET、POST请求

上一博客学习了请求与响应,2次读2次写,但有一个问题就是客户端写入的时候怎么知道请求到达.所以HTTP Server对象出现了.它提供了实现HTTP服务器的基本框架.它可以监听端口的底层套接字和接收请求,然后发送响应给客户端连接的处理程序. 它提供了一下几个事件: request:当服务器收到客户端请求时触发.例如:function callback(request,response){}. connection:当一个新的TCP流建立时触发.例如:function callback (sock

nginx1.6.0 flv,mov,avi stream media server

本文举个简单的例子, 关于使用nginx搭建流媒体服务. nginx的安装参考 :  http://blog.163.com/digoal@126/blog/static/163877040201461822210354/ 我们把流媒体文件放到/media目录, 放3个测试文件, 分别包含了avi, flv, mov格式. 另外还需要一个WEB播放器, 使用jwplayer.swf. [root@dba conf]# cd /media/ [root@dba media]# ll total 1

php-nginx安装成功后访问IP提示500 Internal Server Error

问题描述 nginx安装成功后访问IP提示500 Internal Server Error 截取报错信息如下: nginx.conf配置文件是copy的别人教程里面的. #user nobody; worker_processes 1; error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_c

Nginx负载均衡:分布式/热备Web Server的搭建

       Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用.其特点是占有内存少,并发能力强,中国大陆使用nginx网站用户有:新浪.网易.腾讯等.                Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性,在高连接并发的情况下,Ng

在 Ubuntu 12.04 Server 上安装部署 Ruby on Rails 应用_ruby专题

本教程只适合 Ubuntu Server 用于部署项目到线上,建议使用同样的 Ubuntu 版本,以免遇到一些版本不同带来的问题. 本教程适合新手初次部署 Rails 应用: 本文测试通过环境 Ubuntu 12.04 Server, 服务器安装测试于 Linode VPS (Ubuntu 12.04 LTS (GNU/Linux 3.4.2-x86_64-linode25 x86_64). 配置 Ubuntu Server 系统 如果你是国内服务器,推荐修改网易的源 输入 sudo vi /e

《精通Nginx》——2.5 虚拟server部分

2.5 虚拟server部分 任何由关键字server开始的部分都被称作"虚拟服务器"部分.它描述的是一组根据server_name指令逻辑分割的资源,这些虚拟服务器响应Http请求,因此它们都包含在http部分中. 一个虚拟服务器由listen和server_name指令组合定义,listen指令定义了一个IP地址/端口组合或者是UNIX域套接字路径. listen address[:port]; listen port; listen unix:path; 如表2-6所示,list

《精通Nginx》一2.5 虚拟server部分

2.5 虚拟server部分 任何由关键字server开始的部分都被称作"虚拟服务器"部分.它描述的是一组根据server_name指令逻辑分割的资源,这些虚拟服务器响应Http请求,因此它们都包含在http部分中. 一个虚拟服务器由listen和server_name指令组合定义,listen指令定义了一个IP地址/端口组合或者是UNIX域套接字路径. listen address[:port]; listen port; listen unix:path; 如表2-6所示,list

微信小程序Server端环境配置

源码地址:https://github.com/Tinywan/PHP_Experience   主要内容:1. SSL免费证书申请步骤2. Nginx HTTPS 配置3. TLS 1.2 升级过程   微信小程序要求使用 https 发送请求,那么Web服务器就要配置成支持 https,需要先申请SSL证书 小程序也要求 TLS(传输层安全协议)的版本至少为 1.2,在配置好 https之后,如果 TLS 的版本较低,就涉及到升级问题 所以 Server端环境配置的主要步骤: 申请 SSL