【问题标题】:How to establish a TCP connection given a host name and port on Windows Phone 7.1?如何在 Windows Phone 7.1 上根据主机名和端口建立 TCP 连接?
【发布时间】:2011-06-22 09:06:50
【问题描述】:

在 WP 7.1 中,Socket 类缺少诸如 Socket.Connect(string, int) 之类的方法,这些方法可以使这一点变得简单。可用的替代 Socket.ConnectAsync 显然需要一个数字 IP 地址(与 SocketAsyncEventArgs 对象一起传递)。

此外,还缺少 Dns.GetHostEntry 等方法,因此您无法轻松获取给定主机名的 IP 地址。

【问题讨论】:

  • 使用 Socket.Connect(hostname, port) 重载。
  • @Hans Passant:Socket.Connect 在 WP7.1 上不可用。
  • 别给我们打电话,我们会打电话给你的。
  • 不确定你的意思???
  • @Andreas Huber - “不要费心去追求你的申请。” (phrases.org.uk/meanings/dont-call-us.html)

标签: .net windows-phone-7


【解决方案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);

【讨论】:

    【解决方案2】:

    Windows Phone Mango API 中有许多调用不可用,特别是套接字始终是异步的(因此没有 NetworkStream)并且不支持服务器套接字。 也就是说,这里有一个很好的在芒果中使用套接字的教程。一个小井字游戏的例子。

    http://msdn.microsoft.com/en-us/library/ff431744(v=vs.92).aspx

    这里有一些关于使用套接字的文档:

    http://msdn.microsoft.com/en-us/library/hh202870(v=vs.92).aspx

    【讨论】:

      猜你喜欢
      • 2018-08-14
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多