이것은 내가 많이 보는 질문입니다. 대부분의 사람들은 UDP가 항상 실시간 게임에 TCP보다 낫다고 말합니다. 내 이해는 TCP는 상대방이 패킷을 얻을 때까지 계속해서 패킷을 다시 보내려고하지만 UDP는 신경 쓰지 않는다는 것입니다.
내가 읽은 대부분의 것은 UDP가 모든 실시간 게임에 필수적이며 TCP는 끔찍하다는 것입니다. 그러나 문제는 대부분의 사람들이 UDP 위에 어떤 형태의 TCP를 구현하는 것처럼 보입니다. 또한 우리가 더 이상 80 대가 아니고 인터넷이 이제는 매우 빠르고 안정적이라는 점을 감안할 때이 둘의 차이는 무시할 만하다고 들었습니다.
여기에 내 일반적인 이해가 잘못 되었습니까? 누군가 나를 위해 이것을 정리할 수 있습니까?
t0
수신되지 않은 시간에 월드 상태가 포함 된 패킷 을 보내면 새로운 월드 상태를 보내면 t1
클라이언트가 실제로 첫 번째 패키지를받을 때까지 기다릴 필요가 없다는 것입니다. 이미 사용되지 않습니다.
internet is now pretty fast and reliable
아뇨. 대역폭은 크게 네, 증가하지만, 대기 시간은 여전히 매우 높다. 순수한 TCP를 사용하면 UDP를 통해 클라이언트에서 가장 잘 수행되는 패킷 스 쿼싱을 수행하지 않는 한 서버 틱 시간이 저렴한 최대 대기 시간보다 길어야합니다. 문제는 게임의 일부 정보는 신뢰할 수 있어야하고 다른 일부는 빠르다는 것입니다. UDP 위에 사용자 정의 프로토콜을 사용하면 멋진 패키지에 필요한 모든 것을 제공하는 독점 프로토콜을 사용할 수 있습니다.