C#에서 TCP/IP 통신을 위한 코드입니다. 송신부는 비동기로 구현할 필요가 없다고 생각해서 연결부, 수신부만 비동기로 구현했습니다. 프로젝트 진행 중 TCP/IP 구현이 필요해서 샘플코드를 찾아보는데 막상 쓸만한 예제를 찾기가 어렵더군요. 본문의 예제는 직접 작성한 코드라서 완벽하진 않지만 기본적인 송수신 기능에는 문제가 없습니다. ✅ TCP/IP 비동기 통신 클라이언트 Connect public bool Connect(string host, int port) { IPAddress.TryParse(host, out IPAddress? ipAddress); if (ipAddress == null) { return false; } _tcpClient = new TcpClient(); _tcpClient...
C#
프로그램의 특정 구간의 성능 또는 알고리즘의 성능 측정이 필요한 경우가 있습니다. 보통 시간을 측정하는데 C#에는 시간을 측정하는 다양한 함수들이 있습니다. 그중에서 대표적인 세 가지 (DateTime.UtcNow.Ticks, Stopwatch, Environment.TickCount) 에 대해 알아봅니다. ✅ 처리 속도 측정 방법 세 가지 DateTime.UtcNow.Ticks UTC 시간을 사용하여 측정하는 방식입니다. Tick 은 1초를 10억 개로 나눈 것으로 정밀한 측정이 가능합니다. 현재 시간을 사용하기 때문에 성능 오버헤드가 매우 낮습니다. DateTime.Now 와 유사하지만 UTC 시간대를 사용하므로 지역 문제가 없습니다. 단점 시스템의 현재 시간을 가져오는 것으로 시간을 변경하거나 타임..