1
TCP 연결을 통해 문자열을 전송해야합니다. 이를 위해 Intended없이 한 획씩 내 객체 (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() 메소드 란 무엇입니까? 스트로크에서 패킷을 준비하는 방법?
편집 : 알바하리 (Allahahari)로 작성된 DataReader 및 DataWriter를 사용하여 솔루션을 찾았습니다.
이미 문제가 해결 된 것 같습니다. 명확하고 편리하게 더 많은 사람들을보기 위해서, [자신의 질문에 답할 수 있습니다] (http://stackoverflow.com/help/self-answer). –
지원해 주셔서 감사합니다. – AlfredBauer