2012-11-24 3 views
1

저는 Winsock, C++ 및 Win32를 사용하여 두 명의 플레이어가 차례대로 게임을 만들고 있습니다. 문제는 각 플레이어의 현재 연결 속도 (또는 지연 시간)를 결정할 수단이 필요하다는 것입니다.Winsock lag, 테스트 연결 속도

플레이어의 연결 속도가 너무 느린 경우 상대방이 (지연으로 인해) 이동 당 20 초씩 추가로 기다리는 것을 원하지 않습니다.

이 불필요한 대기를 방지하기 위해, 지연의 너무 높은 (또는 현재 연결 속도가 너무 느린)와 플레이어는 게임의 특정 지역에서 재생하는 것이 허용되지 않습니다.

누구나 클라이언트의 연결 속도 또는 현재 지연을 확인하는 방법을 알고 있습니까?

어디서부터 시작해야할지 모르겠으므로 도움을 얻을 수 있습니다.

나는 핑에 관한 몇 가지 물건에 읽어와이 있다면 내가 알고 궁금해서 서버에서 클라이언트 컴퓨터에 Ping을 날 수 있도록, 또는 클라이언트에서 서버를 핑 (ping) 할 수있는 방법 (또는 윈속 기능) ?

답변

2

글쎄, 당신은

한 프로그램은 원본 메시지의 타임 스탬프를 사용하여 타임 스탬프에 다른 응답을 포함하는 특별한 메시지를 보냅니다 ... 아주 쉽게 연결에 대해 "핑"시간을 발견 할 수 있습니다. 그런 다음 첫 번째 프로그램이 응답을 수신하면 보낸 메시지의 타임 스탬프를 현재 시간과 비교하여 "핑 (ping)"시간을 얻을 수 있습니다.

+0

이것은 대단한 아이디어이며, 실제로 그 일을하는 또 다른 수단이 있다고 생각하지 않지만, 다른 누군가가 그 주제에 대해 의견을 갖고 있는지 좀 더 오래 기다리고 싶습니다. 당신의 대답을 받아 들일 것입니다, 고마워요. –

+0

@ Joachim 나는 내 의견을 되 돌린다. 나는 당신의 대답을 잘못 읽었습니다. –