클라이언트끼리 채팅 동기화해야하는데, 중간에 유실되거나 순서꼬이면 안맞잖아.
순서 꼬이는거야 클라이언트에서 일정 크기만큼은 채팅 로그 남겨놓고 채팅에 순서 번호 매겨서 처리하면 될 것 같은데, 중간에 패킷 유실되면 재전송 해야하는게 문제네.
지금 생각하고있는건 클라가 루프돌면서 서버에 리퀘스트 때리고 서버는 패킷 헤더 까서 데이터그램 번호 확인해서 처리하는거임. 패킷 헤더는 tcp 처럼 seq나 ack 넣고...
좀 더 나은 방법 없나...
클라이언트 많이 띄워봤자 열 몇 개 될텐데... 걍 귀찮으니 채팅 로그를 전부 보내버릴까. 채팅 로그 별로 쌓이지도 않을텐데.
그러라고 있는게 TCP인데 UDP를 쓰는거보면 뭔가 사연이 있거나 똥고집인 것 같은데, TCP over UDP 라는 키워드로 검색해봐. 비슷한 모듈 있을수도?
똥고집은 아니고... 걍 학교 수업인데, tcp랑 udp 둘 다 이용해서 채팅서버 만들어야함. 서드파티가 있어도 쓰진 못할듯... 코드 볼 수 있다면 참고는 할 수 있겠지만. 답변 감사요
생각보다 UDP 유실률 안 높음.
테스트는 어차피 로컬에서 돌리긴 할건데... 그래도 유실 될 수도 있으니까 그거 처리는 해야지..
1ms 내에 패킷 5만 개 보내는 거 아닌 이 상 다 받아짐.
내가 only udp로 게임서버 구동했었는데 DDoS 쳐맞아서 대역폭 완전히 꽉차버리는 때 제외하고는 300명 동시접속도 쾌적하게 잘 돌아갔음. 몇 시간을 접속해있어도 패킷로스 0 ~ 0.1퍼였는데
ㄹㅇ? 그냥 그정도면 패킷 번호매겨서 순서보장만 할까
CoAP ㄱㄱ