เบราว์เซอร์ใดที่รองรับ HTML5 WebSocket API


278

ฉันจะพัฒนาแอปพลิเคชันการส่งข้อความโต้ตอบแบบทันทีที่ทำงานในเบราว์เซอร์

เบราว์เซอร์อะไรสนับสนุนWebSocket API ?


2
เรากำลังเก็บรายการเบราว์เซอร์ที่สนับสนุน WebSocket ที่ทันสมัยบนเว็บไซต์โครงการ Java WebSocket ของเรา: jwebsocket.org/browsers.htm
Predrag Stojadinović

62
เราควรพยายามรักษาคำตอบเหล่านี้ให้ทันสมัยใช่ไหม? ฉันคิดว่าเป็นสิ่งที่ดีกว่าที่จะถามอีกครั้ง
dreeves

5
เว็บไซต์ที่ดีที่สุดสำหรับ HTML5 และฟังก์ชั่นที่เกี่ยวข้องคือcaniuse.com
kanaka

5
มีวิกิชุมชนที่ดีเกี่ยวกับ HTML5 websockets: stackoverflow.com/questions/4262543/using-html-5-websockets
Wouter Dorgelo

1
@meagar - ฉันไม่เห็นด้วย ฉันคิดว่าควรได้รับการปกป้องในฐานะวิกิเพื่อป้องกันคำตอบใหม่ แต่เก็บคำตอบที่เป็นประโยชน์ไว้ในปัจจุบัน คำถามนี้มีผู้ชมมากกว่า 100,000 ครั้ง
เทรวิส J

คำตอบ:


428

ด้านลูกค้า

  • Hixie-75:
    • Chrome 4.0 + 5.0
    • Safari 5.0.0
  • HyBi-00 / Hixie-76:
    • Chrome 6.0 - 13.0
    • Safari 5.0.2 + 5.1
    • iOS 4.2 + iOS 5
    • Firefox 4.0 - การสนับสนุนสำหรับ WebSockets ปิดการใช้งาน เพื่อเปิดใช้งานดูที่นี่
    • โอเปร่าที่ 11 - ด้วยการสนับสนุนปิดการใช้งาน เพื่อเปิดใช้งานดูที่นี่
  • HyBi-07 +
  • HyBi-10:
    • Chrome 14.0 + 15.0
    • Firefox 7.0 + 8.0 + 9.0 + 10.0 - นำหน้า: MozWebSocket
    • IE 10 (จากตัวอย่างผู้พัฒนา Windows 8)
  • HyBi-17 / RFC 6455
    • Chrome 16
    • Firefox 11
    • Opera 12.10 / Opera Mobile 12.1

เบราว์เซอร์ใด ๆ ที่มี Flash สามารถรองรับ WebSocket โดยใช้web-socket-js shim / polyfill

ดูcaniuseสำหรับสถานะปัจจุบันของการสนับสนุน WebSockets ในเบราว์เซอร์เดสก์ท็อปและมือถือ

ดูรายงานการทดสอบจากการทดสอบ WS ที่รวมอยู่ในAutobahn WebSocketsสำหรับการทดสอบความสอดคล้องของคุณสมบัติ / โปรโตคอล


ฝั่งเซิร์ฟเวอร์

ขึ้นอยู่กับภาษาที่คุณใช้

ใน Java / Java EE:

  • Jetty 7.0รองรับ (ใช้งานง่ายมาก) V 7.5 supports RFC6455- Jetty 9.1รองรับ javax.websocket / JSR 356)
  • GlassFish 3.0 (ระดับที่ต่ำมากและบางครั้งซับซ้อน) Glassfish 3.1 มีการสนับสนุน Websocket ใหม่ซึ่งได้รับการพัฒนาใหม่ซึ่งเป็นมิตรกับนักพัฒนามากขึ้นV 3.1.2 supports RFC6455
  • Caucho Resin 4.0.2 (ยังไม่ได้ลอง)V 4.0.25 supports RFC6455
  • Tomcat 7.0.27รองรับแล้วV 7.0.28 supports RFC6455
  • Tomcat 8.xมีการรองรับเนทีฟสำหรับ websockets RFC6455 และเป็นไปตามมาตรฐาน JSR 356
  • JSR 356 รวมอยู่ใน Java EE 7จะกำหนดใน Java API สำหรับ WebSocket, แต่ยังไม่มั่นคงและสมบูรณ์ ดูบทความWebSocket และ Java EE 7ของอรุณ GUPTA - เตรียมพร้อมสำหรับ JSR 356 (TOTD # 181)และงานนำเสนอ QCon (ตั้งแต่ 00:37:36 ถึง 00:46:53) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความคืบหน้า นอกจากนี้คุณยังสามารถดูJava SDK

การใช้งาน Java อื่น ๆ :

ใน C #:

ใน PHP:

ใน Python:

ใน C:

ใน Node.js:

  • Socket.io : Socket.io ยังมีพอร์ตเซิร์ฟเวอร์สำหรับ Python, Java, Google GO, Rack
  • sockjs : sockjs ยังมีพอร์ตเซิร์ฟเวอร์สำหรับ Python, Java, Erlang และ Lua
  • WebSocket-Node - ไคลเอนต์ JavaScript และการใช้งานเซิร์ฟเวอร์อย่างแท้จริงของ HyBi-10

Vert.x (หรือเรียกอีกอย่างว่า Node.x) : โหนดเช่นการใช้งานหลายภาษาที่ทำงานบน Java 7 JVM และขึ้นอยู่กับ Netty ด้วย:

  • รองรับ Ruby (JRuby), Java, Groovy, Javascript (Rhino / Nashorn), Scala, ...
  • เกลียวจริง (ต่างจาก Node.js)
  • ทำความเข้าใจกับโปรโตคอลเครือข่ายหลาย ๆ ตัวนอกกรอบรวมถึง: TCP, SSL, UDP, HTTP, HTTPS, Websockets, SockJSเป็นทางเลือกสำหรับ WebSockets

Pusher.comเป็นบริการคลาวด์ Websocket ที่สามารถเข้าถึงได้ผ่าน REST API

แพลตฟอร์มคลาวด์DotCloudรองรับ Websockets และ Java (Jetty Servlet Container), NodeJS, Python, Ruby, PHP และ Perl ภาษาการเขียนโปรแกรม

แพลตฟอร์มคลาวด์Openshiftรองรับ websockets และ Java (Jboss, Spring, Tomcat & Vertx), PHP (ZendServer & CodeIgniter), Ruby (ROR), Node.js, Python (Django & Flask)

สำหรับการใช้งานภาษาอื่น ๆดูบทความวิกิพีเดียสำหรับข้อมูลเพิ่มเติม

RFC สำหรับเว็บซ็อกเก็ต: RFC6455


32
+1 เพื่อให้ทันสมัย Opera จะได้รับการสนับสนุน Websocketsใน 10.70
Sasha Chedygov

ใช่ฉันคิดว่าพวกเขาเปลี่ยนชื่อ Opera 10.70 เป็น Opera 11 opera.com/browser/next
Cbe317

3
@Tony: IE9 ไม่รองรับ WebSockets มีการสนับสนุนทดลองใช้เป็นส่วนเสริมในLabs HTML5แต่ไม่ได้จัดส่งและพร้อมใช้งาน
Shog9

Webbitเป็นเซิร์ฟเวอร์ Java WebSocket ที่ยอดเยี่ยมที่ควรเพิ่มเข้าไปในรายการ
Aslak Hellesøy

2
ใน Go-lang websockets อยู่ในไลบรารีมาตรฐาน: go.net/websocket
naufraghi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.