2017-02-10 11 views
1

TCP接続で文字列を転送する必要があります。このため、私は1行で10000行のリストをシリアライズすることはできません。しかし、大きな文字列は転送されません(私はバッファサイズのために理解したように)。したがって、このページ(https://docs.microsoft.com/ru-ru/windows/uwp/networking/sockets)のMSDNでは、分割ストロークの転送にIBufferを使用すると言います。コードは次のとおりです。TCPメッセージ用UWPのIBuffer

// More efficient way to send packets. 
// This way enables the system to do batched sends 
IList<IBuffer> packetsToSend = PreparePackets(); 
var outputStream = stream.OutputStream; 

int i = 0; 
Task[] pendingTasks = new Tast[packetsToSend.Count]; 
foreach (IBuffer packet in packetsToSend) 
{ 
pendingTasks[i++] = outputStream.WriteAsync(packet).AsTask(); 
} 
// Now, wait for all of the pending writes to complete 
    await Task.WaitAll(pendingTasks); 

PraparePackets()メソッドとは何ですか?私の脳卒中からパケットを準備する方法は?

編集:私はAlbahariで書かれたDataReaderとDataWriterで解決策を見つけました(16の最後の章)。

+0

既に問題を解決しているようです。はっきりと便利にもっと多くの人を探すために、あなたは[あなた自身の質問に答える]ことができます(http://stackoverflow.com/help/self-answer)。 –

+0

ありがとうございます – AlfredBauer

答えて

0

私はAlbahariで書かれたDataReaderとDataWriterで解決策を見つけました(16の最後の章)。

関連する問題