当前位置: 代码迷 >> C# >> C#两个程序监听一个端口解决办法
  详细解决方案

C#两个程序监听一个端口解决办法

热度:416   发布时间:2016-05-05 05:04:36.0
C#两个程序监听一个端口
C#两个程序监听同一个TCP端口端口。

情况是这样:
服务器上有一个FileZilla,
我们希望做一个小程序来监听FileZilla监听的端口,就是21号端口。
遇到的情况是:当先启动的程序能监听,后启动的程序就不起作用了。

是不是两个程序不能同时监听同一端口?


如果不行,能不能让这两个进程共享数据呢?
------解决思路----------------------
把数据放在公共区,两个程序来共用吧。

端口同时只能被一个端口监听。
------解决思路----------------------
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
端口重用


------解决思路----------------------
socket设置端口复用三个条件:
1.率先监听的socket设置ExclusiveAddressUse 为false;
2.后来监听的socket设置ExclusiveAddressUse 为false;
3.后来监听的socket设置SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true)
------解决思路----------------------
你不可能在同一个端口做两次监听,还有所谓的端口重用也不是干这个事情的,很多人在这方面有误解。
------解决思路----------------------
Ip就像银行
端口就像银行里面的窗口
同一个窗口同一时刻 为两个客户办理业务?
  相关解决方案