2013-11-26 57 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

我知道這是一年多後,但是這是永遠解決? –