4

私は最近、WPF と C# を使用して Windows デスクトップ用の TCP クライアント サーバー アプリケーションを開発しました。現在、Windows 8 Metro App に移植しようと考えています。

しかし、System.Net.Sockets 名前空間は SDK for Metro Apps には存在しないようです。(したがって、TcpListener、TcpClientなどは使用できません)実際の例も見つかりませんでした。

TCP-IP サーバーを Windows 8 Metro アプリとして作成することは可能ですか (いくつかの異なるアプローチを使用)? これを実現するために利用できるサードパーティのライブラリ (できれば無料でオープンソース) はありますか?

私を助けてください。前もって感謝します。

4

1 に答える 1

2

代わりにStreamSocketクラスを使用することをお勧めします。

これはMSDNの例です。


ソケットは TCP を介した送受信を提供し、StreamSocketListenerは着信 TCP 接続をリッスンします。

ここに私の考えがあります:

まず、StreamSocketListener のインスタンスが必要です。

private StreamSocketListener _listener = new StreamSocketListener();

次に、リスナーを起動して接続受信イベント ハンドラーを接続し、サービス名をバインドします。

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

localServiceNameパラメータが空の文字列の場合、システムはバインドするローカル TCP ポートを選択します。MSDN

次に、接続を受信する必要があります。

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

ところで: 私はこれについて多くの調査を行いましたが、私のアイデアを説明する時間がありません (および Windows 8 METRO 開発環境)。早くこれにたどり着けますように。それは本当に私を悩ませます。(ドイツ語/英語) ;)

于 2013-06-27T11:41:44.873 に答える