2016-07-14 13 views
0

私はUWP上で単純なTCPクライアントサーバを使用して通信しようとしていますが、このリンクUWP socketに従っていますが、動作しないようです。私は両方のアプリにクライアント&サーバを提供する機能を追加しました。 System.Runtime.InteropServices.COMException (0x8007274C): A connection attemps has failed because the connected part has not answer after a certain amount of time or the connection has failed because host has not respondC#サーバクライアントが接続時に失敗するUWP

System.Runtime.InteropServices.COMException (0x8007274C): Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu.

を私の知る限り見ることができる、それがラインででawait clientSocket.ConnectAsync(serverHost, serverPort);

を失敗:それはコードに表示されていない場合でも、私は次のように私を与えるエラーを扱っていますWindows 10のモバイル(Lumia 950 XLビルド14385)でサーバーを実行する必要がありますが、これまではWindows 10 Pro(ビルド14385)を実行している表面プロ3でしか動作しませんでした。

クライアント

スチュアート・スミスへのいくつかの研究と感謝した後
try 
{ 
     StreamSocket clientSocket; 

     clientSocket = new StreamSocket(); 
     HostName serverHost = new HostName("localhost"); 
     string serverPort = "5464"; 
     await clientSocket.ConnectAsync(serverHost, serverPort); 
     Stream streamOut = clientSoket.OutputStream.AsStreamForWrite(); 
     StreamWriter writer = new StreamWriter(streamOut); 
     string request = "test"; 
     await writer.WriteLineAsync(request); 
     await writer.FlushAsync(); 
     Stream streamIn = clientSocket.InputStream.AsStreamForRead(); 
     StreamReader reader = new StreamReader(streamIn); 
     string response = await reader.ReadLineAsync(); 
    } 
    catch(Exception ex) 
    { 
     Console.WriteLine(ex.ToString());//handle 
    } 

サーバー

try 
{ 
    serverSocket = new StreamSocketListener(); 
    serverSocket.ConnectionReceived += ServerSocket_ConnectionReceived; 
    await serverSocket.BindServiceNameAsync("5464"); 
} 
catch(Exception e) 
{ 
    Console.WriteLine(e.ToString());//handle 
} 

private async void ServerSocket_ConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args) 
{ 
    Stream inputStream = args.Socket.InputStream.AsStreamForRead(); 
    StreamReader reader = new StreamReader(inputStream); 
    string request = await reader.ReadLineAsync(); 
     Stream outputStream = args.Socket.OutputStream.AsStreamForWrite(); 
    StreamWriter writter = new StreamWriter(outputStream); 
    await writter.WriteLineAsync("Ok"); 
    await writter.FlushAsync(); 
} 
+0

UWPどのデバイスファミリあなたは上のコードをテストしていますか?デスクトップ、電話、パイなど。再テストをテストするときも同じ問題が発生しました。コードはPiで動作しましたが、デスクトップマシンで動作させることができませんでした。 –

+0

後で、サーバーはPi3になりますが、Windows 10ビルドで実行しようとしました。14385 –

+1

これは既に試したと確信しています...しかし、https://msdn.microsoft.com/en-us/library/windows/ apps/Hh780593.aspx –

答えて

0

、2つのアプリが直接相互に接続できないことを表示されます。開発の目的で、ネットワークループバックを有効にするツールを使用して、ローカルマシン上で許可することができます。私は自分のルミアとPC上のサーバーでクライアントを実行しようとしたとき、完全に機能しました。

これを理解するためのリンクがあります。

StackOverFlow UWP Enable loopback

Using network loopback in side-loaded Windows Store apps

関連する問題