在WP 7.1上,Socket类缺少像Socket.Connect(string,int)这样的方法,这些方法可以使这个方法直截了当。可用的替代Socket.ConnectAsync显然需要一个数字IP地址(与SocketAsyncEventArgs对象一起传递)。
此外,Dns.GetHostEntry等方法也缺失,因此您无法轻易获得给定主机名的IP地址。
答案 0 :(得分:2)
Windows Phone Mango API中有许多调用不可用,特别是套接字始终是异步的(因此没有NetworkStream)并且不支持服务器套接字。 也就是说,这里有一个很好的教程,可以在芒果中使用套接字。一个小小的tic脚趾示例。
http://msdn.microsoft.com/en-us/library/ff431744(v=vs.92).aspx
这里有一些关于使用套接字的文档:
http://msdn.microsoft.com/en-us/library/hh202870(v=vs.92).aspx
答案 1 :(得分:1)
事实证明,连接到具有给定主机名的主机实际上非常容易。与问题所暗示的相反,可以为SocketAsyncEventArgs.RemoteEndPoint分配IPEndPoint或DnsEndPoint对象:
var args = new SocketAsyncEventArgs();
args.RemoteEndPoint = new DnsEndPoint(hostName, port);
args.Completed += ... // Add your completion handler here
Socket.ConnectAsync(SocketType.Stream, ProtocolType.Tcp, args);