2016-12-02 73 views
1

実装したいのは、UWPベースのプログラムで、他のC#プログラムは1台のPC(Windows 10 Pro)でSoketと通信しようとしています。ソケット通信UWP(Universial Windows Platporm)

StreamSocketクラス(https://msdn.microsoft.com/ko-kr/windows/uwp/networking/sockets)を使用してDatagramSocketクラスとTCP通信モジュールを使用してUDP通信モジュールを作成しようとしましたが、モジュールが正しく動作していないようです。

Windows UWPサンプルプログラムといくつかの開発者フォーラムでは、同じデバイス上の他のプログラム間のソケット通信が不可能であるという声明を見ました。

私はそれが私が理解した権利であるかどうか疑問に思います。

また、正しい場合は、この問題を解決する他の方法をお勧めしますか?

読んでいただきありがとうございます。

+1

「同じデバイス上の他のプログラム間でソケット通信が不可能であるという声明を見ました。私はそれはナンセンスだと思っています。 –

+0

@JeroenvanLangen返事ありがとうございました。私はそれが非ヒ素であることに同意する。 – KOceanSky

+0

私は常にtcp通信にデフォルトの 'Socket'を使います。 –

答えて

1

私は同じデバイス

上の他のプログラム間のソケット通信は、それが正しいことは不可能であるという記述を見ました。 DatagramSocket official sampleのメモによると:

IPループバックアドレスを使用してネットワーク通信は、通常、ユニバーサルのWindowsプラットフォーム(UWP)APPおよび異なるプロセス(異なるUWPアプリケーションまたはデスクトップアプリケーション)との間のプロセス間通信のために使用することができませんこれはネットワークの隔離によって制限されるためです。

同じマシン内の他のアプリケーションとuwpアプリケーションを通信することはできません。

さらに、この問題を解決する他の方法をお勧めしますか?あなたは、サーバーとクライアントとしてUWPアプリとしてC#のコンソールプロジェクトを使用している場合、私の側にテストすることにより

、彼らはStreamSocketDatagGramSocketと正常に両方の通信が可能。しかし、特別な手順に従えば、それを動作させるために注意を払う必要があります。

  • インターネット(クライアント&サーバ)とプライベート・インターネット(クライアント&サーバ)capabilitiesが有効になっていることを確認してください。

  • 管理者としてサーバー側を実行します。

  • サーバーを実行すると、Windowsによってネットワークアクセスが許可されます。

私はUDPとTCPのサーバ側とクライアント側が含まれているデモを書きました。テスト用にhereをダウンロードできます。

そして結果。

enter image description here

これが動作することができますが、私は目的を開発する以外は使用しないすることをお勧めいたします。

+0

ありがとうございます。できます!! – KOceanSky

関連する問題