여기에 사소한 문제가 있습니다. 컨텍스트의 경우 C#을 사용하여 일부 소켓간에 통신 중이며 작업자 스레드의 출력을 표시하려고합니다.Invoke 후 새 줄이 사라짐
txtOutput.AppendText("Client - Sending the following message: " + Encoding.UTF8.GetString(bytes) + Environment.NewLine);
txtOutput.Invoke(new Action(() => txtOutput.AppendText("Client - Server returned a message: " + str + Environment.NewLine)));
첫 번째 라인은 프로그램의 메인 스레드, 작업자 스레드로부터 두 번째로 첨가된다
는 I 출력을 표시하는 선이있다.
첫 번째 행은 항상 정상적으로 표시되고 두 번째 행도 정상적으로 표시됩니다. 그러나 시퀀스를 다시 수행하면 첫 번째 줄 B가 두 번째 줄 A에 붙여지며 두 번째 줄 B는 다시 올바르게 보입니다. 그래서 분명히 두 번째 라인의 NewLine은 사라지고 있습니다. 그러나이 문제를 해결하는 이유 또는 방법을 이해하지 못합니다.
문자열 변수를 먼저 만든 다음 문자열을 추가하십시오. 여전히 동일한 문제가 있습니까? – butterbox
슬프게도, 그 차이는 없습니다! – David
지금 테스트 중이며 바이트 없이도 작동합니다. 그래서 "바이트"의 인코딩을 가진 무언가가이 upp를 엉망이게합니다. – butterbox