한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Buku Putih Lag Game › L8 Socket dan protokol

Error WSAECONNRESET pada socket UDP Windows WSAECONNRESET on a Windows UDP socket

ID penyebab sk-udp-connreset · Penanggung jawab utama Pengembangan server (Tim Pengembang Game)

Buka kartu interaktif dengan gambar dan simulasi →

Jika server Windows mengirim UDP ke klien yang sudah pergi, notifikasi “port tidak ada” (ICMP) dikirim balik. Notifikasi itu membuat pemanggilan terima berikutnya berakhir dengan error. Jika kode server memperlakukan error ini sebagai kerusakan socket itu sendiri, semua pemain yang memakai socket tersebut ikut terdampak.

Mengapa UDP terus dikirim ke alamat klien yang baru saja keluar, sehingga notifikasi “port tidak ada” (ICMP) dikirim balik → Akibatnya Windows mengakhiri pemanggilan terima berikutnya dengan error WSAECONNRESET (10054), lalu kode server berhenti menerima atau menutup socket → Di layar Semua pemain yang memakai socket itu freeze atau disconnect bersamaan

Gejala
Disconnect, Freeze
Faktor
Packet loss, Stall
Siapa yang mengalami
Seluruh server
Kapan
Sesekali secara acak, Tepat setelah login atau maintenance
Penanggung jawab
Penanggung jawab utama Pengembangan server (Tim Pengembang Game)
Tugas Tim Pengembang Game
Matikan SIO_UDP_CONNRESET dengan WSAIoctl agar notifikasi ini tidak diterima, dan jika terjadi error terima, cukup catat di log lalu lanjutkan menerima.
Di grafik
Koneksi putus serentak · Jumlah koneksi, log error terima
Yang diperiksa
Cari kode error terima UDP (WSAECONNRESET, 10054) dan catatan loop terima berhenti atau socket ditutup di log server game, lalu periksa di packet capture sisi server apakah ICMP Port Unreachable tiba sesaat sebelumnya
Cocok jika
Sesaat sebelum koneksi putus serentak, error terima WSAECONNRESET tercatat, dan sebelumnya ICMP Port Unreachable datang dari alamat klien yang baru saja keluar
Tidak cocok jika
Server Linux, atau kode sudah mematikan SIO_UDP_CONNRESET: tidak berlaku
Sarana pemeriksaan
Log dan metrik server atau klien game

Sumber

  1. Winsock IOCTLs Microsoft
    SIO_UDP_CONNRESET mengaktifkan dan menonaktifkan pelaporan notifikasi UDP “port tidak ada” (PORT_UNREACHABLE)
  2. recvfrom function (winsock.h) Microsoft
    WSAECONNRESET pada socket UDP berarti pengiriman sebelumnya menerima ICMP Port Unreachable
  3. Windows Sockets Error Codes Microsoft
    Nomor error WSAECONNRESET adalah 10054

Lihat juga

Lapisan yang sama: L8 Socket dan protokol

Penyebab di lapisan lain dengan gejala yang sama (Disconnect)

Lihat kartu interaktif dengan gambar dan simulasi