2

この例を使用してサーバーを作成しましたsocketAsyncEventArgs

Visual Studio 2010 および .net 4.0 で。

現在、StreamSocket を使用して Windows 8 アプリから接続しようとしていますが、「アクセスが拒否されました」というメッセージが表示されます。クライアントコードは次のとおりです。

private StreamSocket streamSocket;
    public string Server = "192.168.0.101";
    public int Port = 9900;

    public async void Connect()
    {
        streamSocket = new StreamSocket();
        Connect();
        try
        {
            await streamSocket.ConnectAsync(
                new Windows.Networking.HostName(Server),
                Port.ToString()); // getting Acces Denied here

            DataReader reader = new DataReader(streamSocket.InputStream);
            reader.InputStreamOptions = InputStreamOptions.Partial;
            while (true)
            {
                var bytesAvailable = await reader.LoadAsync(1000);
                var byteArray = new byte[bytesAvailable];
                reader.ReadBytes(byteArray);

            }
        }
        catch (Exception e)
        {
            MessageBox(e.StackTrace);
        }
    }

問題を解決するには?このサーバーを使用してメッセージを送受信する別の方法はありますか?

4

1 に答える 1

12

エラーメッセージの一部として、次のメッセージも表示されている可能性があります。

WinRT information: A network capability is required to access this network resource

これは、ローカルネットワークにアクセスできるようにする機能をアプリケーションに追加する必要があるためです。Package.appxmanifestプロジェクト内のファイルをダブルクリックします。タブをクリックしCapabilitiesます。プロジェクトに機能を追加Private Networks (Client & Server)します。

于 2012-11-10T12:43:32.977 に答える