c# TCP一个程序可不可以同时侦听两个端口?

listen1=newTcpListener(IPAddress.Any,55555);listen2=newTcpListener(IPAddress.Any,5555... listen1 = new TcpListener(IPAddress.Any, 55555);
listen2 = new TcpListener(IPAddress.Any, 55556);
展开
 我来答
佛元基0hM
推荐于2017-11-25 · TA获得超过438个赞
知道小有建树答主
回答量:278
采纳率:100%
帮助的人:330万
展开全部
不要说侦听两个,只要你资源足够,侦听100个都可以的。但是侦听一个端口就要使用一个线程,并在这个线程中响应传入的连接请求,当然还要做一些连接判断或校验,以防止黑客对你进行无限制连接,耗尽你电脑的资源。做网络服务器程序务必要注意安全问题,因为黑客随时会扫描你服务器上开放的端口,然后进行相应的攻击,比如当你接受一个连接请求后,必须要有一个时间间隔来判断该连接是否还处于活动状态,如果该连接是空连接,那么就要及时关闭并释放资源,这样才能及时响应正常的连接。
xupeiying
2013-01-06 · TA获得超过468个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:565万
展开全部
把监听一个端口的事情,在另一个线程在做一次,改变一下端口号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lyric0246
2013-01-06 · TA获得超过490个赞
知道答主
回答量:61
采纳率:0%
帮助的人:87.2万
展开全部
可以的呀~
以下代码
class Program
{
static void Main(string[] args)
{
ThreadPool.QueueUserWorkItem((o) =>
{
TcpListener l1 = new TcpListener(IPAddress.Any, 50000);
l1.Start();
Socket accepted1 = l1.AcceptSocket();
});
ThreadPool.QueueUserWorkItem((o) =>
{
TcpListener l2 = new TcpListener(IPAddress.Any, 60000);
l2.Start();
Socket accepted2 = l2.AcceptSocket();
});

Console.Read();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式