建议改用StreamSocket类。
这是来自 MSDN的示例。
套接字通过 TCP 提供发送和接收,而StreamSocketListener将侦听传入的 TCP 连接。
这是我的想法:
首先我们需要一个 StreamSocketListener 的实例。
private StreamSocketListener _listener = new StreamSocketListener();
然后启动侦听器连接接收到的事件处理程序并绑定服务名称。
_listener.ConnectionReceived += listenerConnectionReceived;
await _listener.BindServiceNameAsync("localServiceName");
如果localServiceName参数为空字符串,则系统将选择要绑定的本地 TCP 端口。MSDN
现在我们必须接收连接:
void listenerConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
{
Console.WriteLine(string.Format("Recive connection from {0}", args.Socket.Information.RemoteHostName.DisplayName));
}
顺便说一句:我为此做了很多研究,还没有时间(以及 Windows 8 METRO 开发环境)来表达我的想法。希望我能尽快做到这一点。这真的让我很烦。(德语/英语);)