개발바닥곰발바닥
반응형
[C#] 소켓 통신시 Byte -> String 에서 널(\0)문자 제거하기
TCP&IP 2021. 11. 23. 11:21

C#으로 TCP 소켓 통신 구현 중에 클라이언트에서 보낸 메시지를 byte로 읽어와 string으로 변환 후에 Split 함수를 이용해서 나누어 쓰는 로직을 구현하고 있었는데 결과 값이 이상하게 나와서 값을 확인해보니 byte는 1024 바이트인데 그걸 string으로 변환 후에 Split 하니 Split 된 문자열 배열의 마지막 원소에 \0으로 끝이 꽉 차있어서 결과가 이상하게 나온 것을 알게 되었다. 찾아본 결과 이런 경우 해결 방법은 굉장히 간단했는데, 그냥 Trim 함수로 끝에 널 문자를 모두 제거해주면 된다. for (int i = 0; i < 1024; i++) bytes[i] = 0; net = tcp.GetStream(); //네트워크스트림 net.Read(bytes, 0, bytes.Le..

article thumbnail
[TCP/IP] 프로토콜 스택
TCP&IP 2021. 9. 21. 09:30

TCP/IP 프로토콜 스택 인터넷 기반의 데이터 송수신을 목적으로 설계된 스택 큰 문제를 작게 나눠서 계층화 한 결과 데이터 송수신의 과정을 5개의 영역으로 계층화 한 결과 각 스택 별 영역을 전문화하고 표준화 함 7계층으로 세분화가 되며, 5계층으로도 표현함 APPLICATION 계층 TCP 계층 UDP 계층 IP계층 LINK 계층 물리계층 물리&링크 계층의 기능 및 역할 물리적인 영역의 표준화 결과 기존 Layer1, Layer2 프로토콜 그대로 적용 LAN, WAN, MAN과 같은 물리적인 네트워크 표준 관련 프로토콜이 정의된 영역 아래의 그림과 같은 물리적인 연결의 표준이 된다. IP 계층의 기능 및 역할 IP는 Internet protocol을 의미함 경로의 설정과 관련이 있는 프로토콜 TCP/..

반응형