栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为应用程序选择众多Internet连接之一

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为应用程序选择众多Internet连接之一

HttpWebRequest,WebRequest,WebClient等都抽象了一些高级功能。但是,您可以使用

TcpClient
(使用带本地端点的构造函数)或使用套接字并调用Socket.Bind来执行此操作。

如果需要使用特定的本地终结点,请使用Bind方法。必须先调用Bind,然后才能调用Listen方法。除非需要使用特定的本地终结点,否则不需要在使用Connect方法之前调用Bind。

绑定到要使用的接口的本地端点。如果您的本地计算机的IP地址的IP地址为192.168.0.10,则使用本地端点将强制套接字使用该接口。默认值是未绑定的(实际上是0.0.0.0),它告诉网络堆栈自动解析您要规避的接口。

这是一些基于安德鲁评论的示例代码。请注意,将0指定为本地端点端口意味着它是动态的。

using System.Net;using System.Net.Sockets;public static class ConsoleApp{    public static void Main()    {        { // 192.168.20.54 is my local network with internet accessibility var localEndPoint = new IPEndPoint(IPAddress.Parse("192.168.20.54"), port: 0); var tcpClient = new TcpClient(localEndPoint); // No exception thrown. tcpClient.Connect("stackoverflow.com", 80);        }        { // 192.168.2.49 is my vpn, having no default gateway and unable to forward // packages to anything that is outside of 192.168.2.x var localEndPoint = new IPEndPoint(IPAddress.Parse("192.168.2.49"), port: 0); var tcpClient = new TcpClient(localEndPoint); // SocketException: A socket operation was attempted to an unreachable network 64.34.119.12:80 tcpClient.Connect("stackoverflow.com", 80);        }    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/421467.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号