여러 방법이 있겠지만 보내는 쪽에서 1024byte 나 2048 byte 씩 잘라보내고 받는 쪽에서 합치는 방식이 있을수 있고요, 보내는 쪽에서 Stream 형식으로 만들어서 Stream 을 보내고 받는쪽에서 Stream 형식으로 받아 데이터를 분석하는 방법도 있습니다.
시작 시점이라던가, 전체 보내는 자료의 Byte 수 라던가 중간에 혹시나 packet 이 사라지거나 소실될 경우를 대비한 일련번호 라던가 그런것이 필요하겠죠 만일 이런것에 대한 프로토콜이 완료 된다면 다른 데이터 보내기도 쉽게 할수가 있겠죠.
그리고 Stream 방식으로 보낸다면 지금 당장에 필요하시 많은 양의 데이터 보내기는 쉽게 하실 수 있을 겁니다. 하지만 다른 명령이라던가 또다른 형식의 데이터보내기가 있을 경우 다시 이런 형식을 만들어야 되니 조금 부담스러울 수가 있습니다.
결론 적으로 이야기 드리면 처음 방식은 단점은 처음 프로토콜 정의라던가 소켓 내부의 프로그램이 시간이 좀 걸린다는 것이고, 장점은 이렇게 정의된 프로토콜로 확장이 용이하다는 것이죠.
후자의 방법의 처음에는 쉽게 할수 있는데, 확장을 하려면 비슷한 내용을 반복을 해야한다는데 있겠죠.
물론 두가지 방식을 혼용하여 사용하는 것도 괜찮은 방법입니다.
저는 이두가지 방식을 혼용하여 사용하죠. Packet 을 만들고 이것을 Stream 으로 보내는 방식을 사용합니다.
물론 다른 분들의 다양한 방법들도 있겠지만 제가 여지껏 격어온 통신 프로그램에서는 최소한 그렇다는 것이죠.
프로그램 하는 사람에 따라 여러 방식이 있을수 있겠죠.
즐프되세요