Csharp/C#教程:Socket不能选择本地IP连接问题如何解决分享

上述就是C#学习教程:Socket不能选择本地IP连接问题如何解决分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)! 现在碰到一个刺手的问题,是这样的!
我的客户端要通过socket与服务器端进行通信,可是客户端服务器上是双ip地址(比方是192.168.1.10和192.168.1.20),可是服务器端只允许192.168.1.20进行通信,进行了ip限制,在客户端上192.168.1.10是主ip,192.168.1.20是从ip,如果我简单通过socket建立连接,程序默认会以192.168.1.10进行通信,这样服务器端会拒绝,我应该如果写才能够解决这个问题呢?
不要手动,要用程序自动实现,可以绑定本地的任何IP地址。
如本机IP地址为:
192.168.1.205,192.168.1.204,192.168.1.203
实现结果为:
C:>netstat-an|find”59.39.71.94″
TCP192.168.1.205:230259.39.71.94:80ESTABLISHED
C:>netstat-an|find”59.39.71.94″
TCP192.168.1.203:1230259.39.71.94:80ESTABLISHED
C:>netstat-an|find”59.39.71.94″
TCP192.168.1.204:780259.39.71.94:80ESTABLISHED
方便的话给个代码吧!谢谢!
代码如下:
CodehighlightingproducedbyActiproCodeHighlighter(freeware)https://www.CodeHighlighter.com/–>1stringserverIp=”59.39.71.94″;
intserverProt=80;
stringclientIp=”192.168.1.104″;
intclientProt=8012;
varsocket=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
varipHostEntry=Dns.GetHostEntry(serverIp);
varipEndPoint=newIPEndPoint(ipHostEntry.AddressList[0],serverProt);
varaddress=IPAddress.Parse(clientIp);
if(address!=null)
{
varlocalEp=newIPEndPoint(address,clientProt);
socket.Bind(localEp);
}
socket.Connect(ipEndPoint);//建立长连接

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/904369.html

(0)
上一篇 2021年10月21日
下一篇 2021年10月21日

精彩推荐