gpt4 book ai didi

时间:2019-03-08 标签:c#socketconnectaddressfamily

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:21 25 4
gpt4 key购买 nike

我有一个连接到我的 ftp 的功能

   clientSocket = new Socket(AddressFamily.Unspecified, SocketType.Stream, ProtocolType.Tcp);
clientSocket.Connect(new IPEndPoint(Dns.Resolve(remoteAddress).AddressList[0], remotePort));

但是,对于某些计算机,这是行不通的。异常(exception)是

The system detected an invalid pointer address when it tried to use a pointer argument of a call.

如果我将 AddressFamily.Unspecified 更改为 AddressFamily.InterNetwork,问题就解决了。我必须理解为什么会出现这个问题,为什么原始代码适用于某些计算机而不适用于所有人......如果有人可以帮助我:)

最佳答案

当使用 AddressFamily.Unspecified 时,您可能使用的第一个地址可以是 IPv6 而不是 IPv4。从这个MSDN website ,您可以看到使用 AddressFamily.InterNetwork 使用 IPv4 地址。

获取所有地址然后使用第一个 IPv4 地址可能更安全。此答案将向您展示如何:Get IPv4 addresses from Dns.GetHostEntry()

关于时间:2019-03-08 标签:c#socketconnectaddressfamily,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34790404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com