将套接字与Windows phone 7一起使用-DNS解析

本文关键字:-DNS 解析 一起 套接字 Windows phone | 更新日期: 2023-09-27 18:30:01

我想用套接字方法连接到一个URL(http://msdn.microsoft.com/en-us/library/system.net.sockets.socket(v=VS.96).aspx);

但我没有联系。

我总是收到一个错误:HostNotFound,但是,我尝试使用"google.com"作为Url和端口"80"。

我试过很多Urls(http://google.com,www.google.com,http://www.google.fr)而且我没有连接。

我看过很多网络教程,我注意到它们不是MSDN教程中的DNS解析,有问题吗?

有什么想法吗?

将套接字与Windows phone 7一起使用-DNS解析

您应该将SocketAsyncEventArgs.RemoteEndPoint设置为DnsEndPoint的实例;这就是你目前正在做的事情吗?

你可以在这里查看样品!

试试这个。

Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.SetNetworkRequirement(NetworkSelectionCharacteristics.NonCellular);
string serverName = "www.google.com";
int portNumber = 80;
DnsEndPoint hostEntry = new DnsEndPoint(serverName, portNumber);
SocketAsyncEventArgs socketEventArg = new SocketAsyncEventArgs();
socketEventArg.RemoteEndPoint = hostEntry;
socketEventArg.UserToken = socket;
socketEventArg.Completed += socketEventArg_Completed;
// Make an asynchronous Connect request over the socket.
socket.ConnectAsync(socketEventArg);
    void socketEventArg_Completed(object sender, SocketAsyncEventArgs e)
    {
        Socket socket = e.UserToken as Socket;
        if (e.SocketError == SocketError.Success)
        {
        }
    }