IT한 것/Vert.X

Vert.x TCP read에서 데이터가 잘리는 현상

lovian 2021. 4. 1. 14:24

어차피 최종 서비스는 TCP over TLS로 갈것이긴 한데, 편안한 개발 환경을 위해서 종종 TLS를 끄고 개발을 진행했다.

 

슬슬 데이터가 잘 오가는 것 같아서, 단순한 더미데이터에서 실제에 가까운 테스트 데이터로 변경하여 작업하니 문제가 발생했다.

 

1차로 보여지는 파싱 오류가 발생했다

 - 우리가 사용하는 데이터는 JSON 형식인데, 해당 형식에 맞지 않는다는 것

바로 길이가 의심되서 일단 읽은 데이터의 길이를 찍어보니 2048.

 

딱 감이 온다.

 

NetServer의 생성 옵션을 보면

setReceiveBufferSize가 있어서, 이 값이 기본 2048인것으로 짐작했으나, 의외로 -1로 제한 없음이다.

라고 생각했는데.. 제한 없음이 아닌 것 같다.

 

직접 2048 이상의 값을 설정하니, 잘림 현상이 사라졌다.

 

vert.x로 입출력시에 해당 버퍼 크기를 잘 설정해줘야겠다.