언제나 빈약한 개발 문서
개발 일이 고되어서 문서가 빈약해지는 거는 이해되지만 이거는 이렇게나 좋아진 ai를 써서 고쳐주면 얼마나 좋겠어요.
https://developer.android.com/reference/android/net/VpnService.Builder

(위에 안드로이드 vpn 인터페이스를 만드는 메서드 함수)
이거는 몇 가지 고려사항이 있어요. ai는 이미 이사한 데이터를 학습하여서 할루시네이션이 심하는 전망이어요.
jtun2sock은 패킷 버퍼를 20000 이라고 썻고 이케 유명한 tor 프로젝트도 orbot 코드에 버퍼를 65534를 사용하였어요. 뒤 꺼는 네트워크 프로그래밍에 장인들일 거 의심 여지가 없는데 안드로이드 공식 문서가 위에 처럼 엉망이어서 마지모하여 64k를 쓴거아니나요.

(aosp 구현 코드를 뜯어보기는 싫은 ㄱㅓ이고 ..)
구조를 직관해 보면 MTU (Maximum Transmission Unit) 최고 1500에 걸려서 버퍼 크기는 1500이 되어야 할거여요. 애당초 스트리밍 구조이면 패킷이 밀려서 어긋나야 해요.
이거는 utf8 데이터를 스트림에서 블록을 읽는데 유니코드가 바이트 경계에 끼어서 잘못된 디코딩 (일반적으로 다이아 표시) 나는거랑 같은 거여서 이럼 getString(utf8byteschunk) 하면 안되고 utf8decoder.write(utf8byteschunk) 해야해요. 디코더 내부에서 불완전 블록을 제어해주어요.
python - How does decoding in UTF-8 know the byte boundaries? - Stack Overflow
이럼 1500 되어야 하는거 아니나요. 결과적으로 막 코딩 한다음 필드테스트에서 예외를 관측하면 잘못된 거이고 특별한 이상이 없으면 1500이 일반적을 옳은거여요. 이거는 8k, 9k 점보프레임이라는 기법이 있는데 안드로이드에서 사용한다는 기록무른 없어요. 애당초 네트워크 장비에서 9000 길이로 받음 이거를 1500 단위로 알아서 잘라서 보내고 받고 하는 거여서 더 의심할 여지가 없쩌.
이 .. 런 하찮은 문서들 .. 진절머리가 나는거 아나요.
