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就像银行
端口就像银行里面的窗口
同一个窗口同一时刻 为两个客户办理业务?