1

Windows 8 で勉強し、WiFi Direct で 2 台の PC 間でファイルを転送するためのアプリを作成してみます。これで、アプリで 2 台の PC 間でテキストを送信できるようになりました。

テキストを送信:

private async void SendText()
{
    string msg = SendMessageTextBox.Text;

    if (msg.Length > 0)
    {
        var msgLength = dataWriter.MeasureString(msg);
        dataWriter.WriteInt32(msg.Length);
        dataWriter.WriteString(msg);
        try
        {
            await dataWriter.StoreAsync();
            Debug.WriteLine("Send Message >>: " + msg + "\n");
        }
        catch (Exception exc)
        {
            Debug.WriteLine("Send error: " + exc.Message + "\n");
        }
    }
}

テキストを受け取る:

private async void ReceiveText(StreamSocket socket, DataReader reader)
{        
    uint initialLength = 5;

    try
    {
        await reader.LoadAsync(initialLength);
        uint msgLength = (uint)reader.ReadInt32();

        try
        {
            await reader.LoadAsync(msgLength);
            string message = reader.ReadString(msgLength);
            Debug.WriteLine(currentTime + " <<: " + message + "\n"); 

            ReceiveText(socket, reader);
        }
        catch (Exception exc)
        {
            Debug.WriteLine("Error: " + exc.Message + "\n");
            socket.Dispose();
        }
    }
    catch (Exception exc)
    {
        Debug.WriteLine("Error: " + exc.Message + "\n");
        socket.Dispose();
    }
}

しかし、私はファイルの変換と転送の方法を本当に混乱させています。私はそれに多くの時間を費やしています...

DataReader および DataWriter クラスにいくつかのメソッドがあることは知っています。

...
public IBuffer ReadBuffer(uint length);
public void ReadBytes(byte[] value);
public static DataReader FromBuffer(IBuffer buffer);
...
public void WriteBytes(byte[] value);
public void WriteBuffer(IBuffer buffer, uint start, uint count);
...

しかし、ファイルをストリームに変換する方法と、送受信する方法を使用する方法は?

がんばるけどいつも失敗、本当に絵を描かせてくれる…

誰かガイドをくれませんか?それとも小さなサンプル?

ありがとう。

4

1 に答える 1

2

これは、2 つの Windows 8 ピア間で Wifi-Direct を使用してファイルを転送するのに役立つ記事 (再利用できるライブラリを含む) です: http://blogs.msdn.com/b/stephe/archive/2013/12/11/win8 -1-transfering-a-file- between-2-peers-using-wifi-direct-and-proximity-api.aspx

それが役に立てば幸い

于 2013-12-18T15:22:55.450 に答える