2012-07-03 4 views
0

나는 멀티 플레이어 플래시 게임을 작성 중이며 서버는 파이썬으로 작성되었으며 초당 25 번 업데이트됩니다. 모든 업데이트는 플레이어가 움직이는 경우 서버가 해당 플레이어의 새로운 위치가 포함 된 TCP 메시지를 보냅니다. 로컬에서 실행되는 모든 것은 좋았지 만, 최근 코드를 어떻게 고화질 배포 서버 (100Mbps 파이프 연결)로 밀어 넣어서 어떻게 실행되는지 테스트했습니다.TCP 메시지 'Bunching Up'

나는 기쁘다. 왜냐하면 내가 알아 차리는 것은이 업데이트 메시지가 전송 중에 무리를 지어서 6 중으로 도착하기 때문이다. 로컬에서 테스트하면 메시지가 1/25th 간격으로 도착하므로 플레이어의 움직임이 매우 부드러워졌습니다. 실제로는 그렇지 않습니다.

동일한 문제가있는 경우 해결 방법을 찾으려면 무엇을보고 실험하고해야합니까?

답변

1

Nagle's algorithm을 사용 중지하여 세그먼트를 바로 전송할 수 있습니다. 그러나 요구 사항을 고려할 때 UDP가 더 나은 일치가 아닌지 궁금합니다.

+0

UDP는 곧바로 사용할 수 있습니다. 불행히도 Flash는 지원하지 않습니다. Nagle의 알고리즘을 해제 할 수있는 방법, 네트워킹 라이브러리 또는 서버 구성에있는 방법을 알고 계십니까? – DizzyDoo

+0

@DizzyDoo 시작을 위해 양쪽에서 사용하지 않도록 설정하십시오. – cnicutar

+0

Naggle은 송신을 제한하므로 송신자에서 비활성화하면 충분합니다. –