将套接字与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解析,有问题吗?
有什么想法吗?
您应该将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)
{
}
}