2013-06-27 36 views
4

我最近为Windows桌面开发了一个使用WPF和C#的TCP客户端 - 服务器应用程序。 现在,我正在考虑将它移植到Windows 8 Metro App。C#中的TCP服务器Windows 8 XAML应用程序

但是,似乎System.Net.Sockets命名空间不存在于Metro Apps的SDK中。 (所以我不能使用TcpListener,TcpClient等) 我找不到工作示例。

是否可以创建一个TCP-IP服务器作为Windows 8 Metro应用程序(使用一些不同的方法)? 是否有任何第三方库(免费和开放源代码,最好)可以实现这一目标?

请帮帮我。 在此先感谢。

+0

你看http://msdn.microsoft.com/library/windows/apps/BR226882? – Max

+0

它工作?请标记我的答案,如果它是正确的:) – Smartis

回答

2

建议使用StreamSocket类代替。

这是来自MSDN的Example


套接字提供发送和接收通过TCP和StreamSocketListener将监听进入的TCP连接。

这里是我的想法:

首先,我们需要StreamSocketListener的实例。

private StreamSocketListener _listener = new StreamSocketListener(); 

然后启动监听器连接一个连接收到事件处理程序并绑定服务名称。

_listener.ConnectionReceived += listenerConnectionReceived; 
await _listener.BindServiceNameAsync("localServiceName"); 

如果localServiceName参数为空字符串,则系统将 选择要在其上结合本地TCP端口。 MSDN

现在我们必须recive连接:

 void listenerConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args) 
     { 
      Console.WriteLine(string.Format("Recive connection from {0}", args.Socket.Information.RemoteHostName.DisplayName)); 
     } 

BTW:我做了很多的这种研究,并没有离开的时间(和Windows 8的METRO开发环境)教我的想法。希望我能尽快得到这个。它真的让我感到困扰。 (德文/英文);)

+0

感谢您的回复,并对迟到的回应感到抱歉! :-) 我试过使用StreamSocket类,但我无法用它来创建一个TCP套接字监听器(或服务器)。但是,我成功地使用这个类创建了一个TCP客户端。你能帮我找到一个代码示例来创建一个使用StreamSocket类的TCP服务器吗? –

+0

......我试图找到一个解决方案。发现本地主机的代码... – Smartis

+0

@ShrayanshSharma做了一些改变。 – Smartis

相关问题