Skip to content

รหัสข้อผิดพลาดและตารางอ้างอิง (Error Codes Reference)

หน้านี้รวบรวมรหัสข้อผิดพลาดทั้งหมดที่คุณอาจพบจากการเชื่อมต่อ WebSocket ของ RawPush รวมถึงเหตุผลเชิงลึกว่าทำไมจึงเกิดรหัสเหล่านั้น และวิธีแก้ปัญหาเบื้องต้นสั้นๆ สำหรับนำไปใส่ในโค้ดของคุณเพื่อจัดการการ Reconnect


🛑 รหัสเมื่อโดนตัดการเชื่อมต่อ (Close Codes)

เมื่อ Connection โดนหลุด หรือโดนสับสวิตช์ทิ้ง (Trigger ในฟังก์ชัน ws.onclose) โค้ดที่แจ้งกลับมักจะมีหน้าตาดังนี้:

รหัส Codeชื่อสากลความหมายและสิ่งที่ควรทำ
1000Normal Closureการจากลากันด้วยดี (เช่น คุณสั่ง ws.close() เองเพราะจะเปลี่ยนหน้าจอ)
1001Going Awayหน้าจอแท็บ Browser หรือมือถือปิดแอปลง, หรือฝั่ง RawPush Reboot เซิร์ฟเวอร์ (เดี๋ยวต่อใหม่ได้)
1006Abnormal Closureเสาสัญญาณขาดหาย อินเทอร์เน็ตพัง ดับวูบกะทันหัน... ควรเขียนโค้ดต่อใหม่แบบ Exponential Backoff ทันที
4001Auth Timeoutconnect WebSocket สำเร็จแล้ว แต่ไม่ส่ง cmd: auth มาภายในเวลาที่กำหนด
4002Invalid JSONระบบพบว่ารูปแบบ Text ที่บังเอิญคุณปาเข้าบ้านมา ไม่ใช่โครงสร้างของ JSON หรือหาปีกลงไม่เจอ
4004Unknown Commandคุณพิมพ์ชื่อ cmd (เช่น subcribe) ผิดตัวอักษร หรือระบบยังไม่รองรับการกระทำนั้น

🚫 รหัสยืนยันตัวตนตกหล่น (Auth / System Errors)

เวลาระบบปฏิเสธคำขอ Auth ข้อความ Error กลุ่มนี่จะมาเป็น JSON ทางช่องทาง ws.onmessage และมี type: "error" หรืออยู่ในส่วน Error ของ type: "reply"

แจ้งเตือนสาเหตุ
Invalid signatureHMAC ที่ Backend กวนไว้ ลายนิ้วมือตัวเลข Hex ออกมาไม่ตรงกับฝั่ง RawPush
Token expiredระบบมองว่า exp Timestamp ตัวเลขน้อยกว่าเวลา Server ปัจจุบัน ทำให้บัตรนี้บูดเน่าไปแล้ว
Invalid token formatฟิลด์ jti, exp ขาดหายไป หรือไม่ใช่โครงสร้างที่ใช้งานได้

🚧 รหัสข้อห้ามขีดจำกัด (Rate Limit & Size Drops)

การยิงรัวเกิน หรือขนบรรทุกใหญ่เกิน ระบบจะตีกลับข้อผิดพลาดเฉพาะตัวในรูปแบบ reply กลับหาการกระทำนั้นๆ

แจ้งเตือนสาเหตุป้องกันอย่างไร
Payload too largeใส่เนื้อความในตระกร้า data ของขนาดเกินค่า 10KB สูงสุดโยนแต่ Link URL ของก้อนใหญ่ แทนที่จะส่งตัวเต็ม Base64
Rate limit exceededคุณกำลังสาดกระจายความเร็วล้นขอบความจุของแพกเกจหลักโปรเจกต์คุณแล้วหากเกินบ่อย ให้ติดต่อเพิ่มโควต้าโปรเจกต์ หรือรวบของ 10 อย่าง ใส่การ Publish รอบเดียว!

Released under the MIT License.