2013-11-26 31 views
2

我的WinRT服务器的代码如下所示无法从WPF应用程序

public class Server 
{ 
    StreamSocketListener networkListener; 

    public Server() 
    { 
     networkListener = new StreamSocketListener(); 
     networkListener.ConnectionReceived += networkListener_ConnectionReceived; 
    } 

    void networkListener_ConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args) 
    { 
     //never gets called 
    } 

    public async Task Start() 
    { 
     await networkListener.BindServiceNameAsync("51114"); 
    } 

}

连接到的WinRT服务器的端口不要紧,我检查,这是不使用的,并试图其他几个。

我的WPF代码如下所示

private async void btnConnect_Click(object sender, RoutedEventArgs e) 
    { 
     TcpClient client = new TcpClient(); 
     await client.ConnectAsync(IPAddress.Parse("127.0.0.1"), 51114); 
     //client.Connect("localhost", 51114); 
    } 

我已经试过 “本地主机”, “127.0.0.1”,和我的电脑的实际本地IP。

该端口已被允许通过防火墙。

从我所知道的,服务器在WinRT的应用出发,不会抛出异常,而netstat -a显示,我在端口51114.

听当WPF应用程序试图连接,我出现以下错误

型“System.Net.Sockets.SocketException”的异常出现在mscorlib.dll,但在用户代码中没有处理

附加信息:连接尝试失败,因为连接的方在一个peri后没有正确回应时间OD,或已建立的连接失败,因为连接的主机没有反应

异常中的错误代码是10060

回答

1

我记得有一个线程与UDP广播相当类似的问题:UDP Broadcasting not working on same machine in windows 8

我试过在同一台机器上安装websocket客户端和服务器(请参阅上述线程的注释),但它不起作用。我很抱歉,但我不知道为什么(它只适用于不同的机器)。

+0

那么这对开发很不方便。我不打算将此标记为答案,我想看看是否有其他人提出了解决方法。谢谢(你的)信息。 – Dave

+0

是的,我也希望有人想出一个解决方法... – Alexander

+1

我知道这是一年多后,但是这是永远解决? –