คำถามติดแท็ก websocket

WebSocket เป็น API ที่สร้างขึ้นบนซ็อกเก็ต TCP และโปรโตคอลสำหรับการสื่อสารแบบสองทิศทางแบบฟูลดูเพล็กซ์ระหว่างไคลเอนต์และเซิร์ฟเวอร์โดยไม่มีค่าใช้จ่ายของ HTTP

4
Long-Polling, Websockets, เหตุการณ์ที่เซิร์ฟเวอร์ส่ง (SSE) และ Comet คืออะไร
ฉันได้ลองอ่านบทความบางส่วนแล้ว แต่ฉันยังไม่ชัดเจนกับแนวคิด มีคนต้องการจะอธิบายให้ฉันฟังว่าเทคโนโลยีเหล่านี้คืออะไร: Long Polling เหตุการณ์ที่เซิร์ฟเวอร์ส่ง WebSockets ดาวหาง สิ่งหนึ่งที่ฉันเจอทุกครั้งคือเซิร์ฟเวอร์เปิดการเชื่อมต่อและส่งข้อมูลไปยังลูกค้า การเชื่อมต่อเปิดอย่างไรและไคลเอนต์รับข้อมูลที่ถูกพุชอย่างไร (ไคลเอนต์ใช้ข้อมูลอย่างไรบางทีรหัสบางอย่างอาจช่วยได้?) ตอนนี้ฉันควรใช้อันใดอันหนึ่งสำหรับแอปแบบเรียลไทม์ ฉันได้ยินเกี่ยวกับ websockets เยอะมาก (กับ socket.io [a node.js library]) แต่ทำไมไม่ใช้ PHP?

7
WebSockets กับเหตุการณ์ที่เซิร์ฟเวอร์ส่ง / EventSource
ทั้งWebSocketsและServer-Sent Eventsสามารถส่งข้อมูลไปยังเบราว์เซอร์ได้ สำหรับฉันพวกเขาดูเหมือนจะเป็นเทคโนโลยีการแข่งขัน ความแตกต่างระหว่างพวกเขาคืออะไร? เมื่อใดที่คุณจะเลือกหนึ่งรายการอื่น ๆ

7
ความแตกต่างระหว่าง socket.io และ websockets
ความแตกต่างระหว่าง socket.io และ websockets ใน node.js คืออะไร? พวกเขาทั้งสองเทคโนโลยีผลักเซิร์ฟเวอร์? ความแตกต่างเพียงอย่างเดียวที่ฉันรู้สึกคือ socket.io อนุญาตให้ฉันส่ง / ส่งข้อความโดยระบุชื่อเหตุการณ์ ในกรณีของ socket.io ข้อความจากเซิร์ฟเวอร์จะเข้าถึงลูกค้าทั้งหมด แต่สำหรับ websockets เดียวกันฉันถูกบังคับให้เก็บอาร์เรย์ของการเชื่อมต่อทั้งหมดและวนผ่านมันเพื่อส่งข้อความไปยังลูกค้าทั้งหมด นอกจากนี้ฉันสงสัยว่าทำไมผู้ตรวจสอบเว็บไซต์ (เช่น Chrome / firebug / fiddler) ไม่สามารถจับข้อความเหล่านี้ (จาก socket.io/websocket) จากเซิร์ฟเวอร์ได้หรือไม่ โปรดอธิบายสิ่งนี้

3
ห้องสมุด websocket ใดที่จะใช้กับ Node.js [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ขณะนี้มีห้องสมุด websocket มากมายสำหรับ node.js ซึ่งเป็นที่นิยมมากที่สุด: https://github.com/Worlize/WebSocket-Node https://github.com/einaros/ws https://github.com/LearnBoost/engine.io https://github.com/learnboost/socket.io https://github.com/sockjs อย่างไรก็ตามฉันไม่พบการเปรียบเทียบที่เป็นรูปธรรมใด ๆ ระหว่างพวกเขา ... เห็นได้ชัดว่า Socket.io ยอดเยี่ยมมาก แต่ก็ค่อนข้างล้าสมัยและไม่สามารถสร้างได้ ทั้ง ws และ websocket-node อ้างว่ามันเร็วที่สุด และ engine.io นั้นดูใหม่ แต่ก็หนักกว่าของ aletarntives ที่เบากว่ามาก มันจะน่าอัศจรรย์ถ้าเราหรือใครสักคนสามารถรวบรวมคำตอบที่ทำหน้าที่เป็นแนวทางในการใช้ซ็อกเก็ตไลบรารี่และเมื่อใดรวมถึงการเปรียบเทียบระหว่างพวกเขา

6
โปรโตคอล WebSockets เทียบกับ HTTP
มีบล็อกและการสนทนามากมายเกี่ยวกับ websocket และ HTTP และนักพัฒนาและเว็บไซต์จำนวนมากสนับสนุน websockets อย่างมาก แต่ฉันก็ยังไม่เข้าใจว่าทำไม ตัวอย่าง (ข้อโต้แย้งของคนรัก websocket): HTML5 Web Sockets แสดงถึงวิวัฒนาการครั้งต่อไปของการสื่อสารทางเว็บซึ่งเป็นช่องทางการสื่อสารแบบสองทางเต็มรูปแบบที่ทำงานผ่านซ็อกเก็ตเดียวผ่านเว็บ ( http://www.websocket.org/quantum.html ) HTTP สนับสนุนการสตรีม: ร้องขอการสตรีมเนื้อหา (คุณใช้ในขณะที่อัปโหลดไฟล์ขนาดใหญ่) และการสตรีมเนื้อหาการตอบกลับ ระหว่างทำการเชื่อมต่อกับ WebSocket ลูกค้าและข้อมูลการแลกเปลี่ยนเซิร์ฟเวอร์ต่อเฟรมซึ่งมีขนาด 2 ไบต์ต่อเมื่อเปรียบเทียบกับส่วนหัว http 8 กิโลไบต์ของ http เมื่อคุณทำการสำรวจต่อเนื่อง ทำไม 2 ไบต์ไม่รวม tcp และภายใต้โปรโตคอล TCP ค่าใช้จ่าย? GET /about.html HTTP/1.1 Host: example.org นี่คือส่วนหัว http http ~ 48 …
330 ajax  http  websocket  comet 

4
AJAX จะใช้ความยาว / การลงคะแนนสั้นสั้นใน HTML5 WebSockets ได้อย่างไร
ฉันกำลังสร้างแอปพลิเคชั่นแชทเล็ก ๆ สำหรับเพื่อน ๆ แต่ไม่แน่ใจเกี่ยวกับวิธีรับข้อมูลในเวลาที่ไม่เป็นคู่มือหรือเป็นพื้นฐานในการบังคับให้รีเฟรชหน้าเว็บ ขณะนี้ฉันกำลังใช้สิ่งนี้โดยใช้ AJAX แบบง่าย ๆ แต่สิ่งนี้มีข้อเสียของการกดปุ่มเซิร์ฟเวอร์เป็นประจำเมื่อเวลาผ่านไปสั้น ๆ ในการค้นคว้าการทำโพลแบบยาว / สั้นฉันใช้ HTML5 WebSockets นี้ดูเหมือนง่ายต่อการใช้ แต่ผมไม่แน่ใจว่าถ้ามีข้อเสียบางอย่างซ่อนอยู่ ตัวอย่างเช่นฉันคิดว่า WebSockets รองรับเฉพาะเบราว์เซอร์บางตัวเท่านั้น มีข้อเสียอื่น ๆ สำหรับ WebSockets ที่ฉันควรระวังหรือไม่? เนื่องจากดูเหมือนว่าทั้งสองเทคโนโลยีจะทำสิ่งเดียวกันสถานการณ์แบบใดที่เราจะเลือกใช้อีกแบบหนึ่ง โดยเฉพาะอย่างยิ่ง HTML5 WebSockets ทำให้การสำรวจ AJAX ยาว / สั้นล้าสมัยหรือมีเหตุผลที่น่าสนใจที่จะชอบ AJAX มากกว่า WebSockets หรือไม่

1
เบราว์เซอร์ใดที่รองรับ HTML5 WebSocket API
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันจะพัฒนาแอปพลิเคชันการส่งข้อความโต้ตอบแบบทันทีที่ทำงานในเบราว์เซอร์ เบราว์เซอร์อะไรสนับสนุนWebSocket API ?

9
HTTP / 2 ทำให้ websockets ล้าสมัยหรือไม่
ฉันเรียนรู้เกี่ยวกับโปรโตคอล HTTP / 2 มันเป็นโปรโตคอลเลขฐานสองที่มีเฟรมข้อความขนาดเล็ก ช่วยให้การสตรีมมัลติเพล็กซ์ผ่านการเชื่อมต่อ TCP เดียว แนวคิดดูเหมือนว่าคล้ายกันมากกับ WebSockets มีแผนการที่จะล้าสมัย websockets และแทนที่ด้วยคำขอ HTTP / 2 headerless บางชนิดและข้อความพุชที่เริ่มต้นโดยเซิร์ฟเวอร์หรือไม่ WebSockets หรือจะเติมเต็ม HTTP / 2 หรือไม่
268 websocket  http2 

8
WebRTC กับ Websockets: ถ้า WebRTC สามารถทำวิดีโอเสียงและข้อมูลได้ทำไมฉันต้องใช้ Websockets? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ดังนั้นฉันจึงต้องการสร้างแอปแชทที่จะอนุญาตให้ใช้วิดีโอเสียงและข้อความ ฉันใช้เวลาค้นคว้าใน Websockets และ WebRTC เพื่อตัดสินใจว่าจะใช้อะไร เนื่องจากมีแอพวิดีโอและเสียงมากมายที่มี WebRTC นี่เป็นตัวเลือกที่สมเหตุสมผล แต่มีสิ่งอื่น ๆ ที่ฉันควรพิจารณาหรือไม่ แบ่งปันความคิดของคุณ สิ่งที่ชอบ: เนื่องจาก WebRTC ใหม่นั้นมีเฉพาะในบางเบราว์เซอร์ในขณะที่ WebSockets ดูเหมือนจะมีเบราว์เซอร์เพิ่มขึ้น Scalability - Websockets ใช้เซิร์ฟเวอร์สำหรับเซสชันและ WebRTC น่าจะเป็น p2p มัลติเพล็กซ์ / ห้องแชทหลายห้อง - ใช้ใน Google+ แฮงเอาท์และฉันยังคงดูแอปตัวอย่างเกี่ยวกับวิธีการนำไปใช้ เซิร์ฟเวอร์ - Websockets ต้องการ RedisSessionStore หรือ RabbitMQ เพื่อขยายข้ามเครื่องหลายเครื่อง
221 websocket  webrtc 

11
การแก้ไขข้อบกพร่อง WebSocket ใน Google Chrome
มีวิธีหรือส่วนขยายที่ให้ฉันดู "ปริมาณการใช้งาน" ผ่าน WebSocket หรือไม่? สำหรับจุดประสงค์ในการดีบั๊กฉันต้องการดูคำขอและการตอบกลับของไคลเอ็นต์และเซิร์ฟเวอร์

3
กวดวิชาเริ่มต้นที่ดีเพื่อ socket.io? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันใหม่มากสำหรับโลกแห่งการพัฒนาเว็บและกระโดดเข้าสู่ bandwagon เพราะฉันพบว่าแนวคิดของ HTML5 น่าสนใจมาก ฉันค่อนข้างมั่นใจในการทำงานกับ Canvas และตอนนี้อยากจะย้ายไปที่ websockets ส่วนหนึ่งของมัน ฉันมาทำความเข้าใจกับ socket.io เป็นเพียงกรอบการทำงานเมื่อเราต้องการทำงานกับเว็บซ็อกเก็ต พอยน์เตอร์ใด ๆ เกี่ยวกับสิ่งที่การสอนและตัวอย่างที่อ้างถึงสำหรับหุ่นจำลองทั้งหมดจะได้รับการชื่นชมอย่างมาก!

11
ส่วนหัว HTTP ใน API ไคลเอนต์ Websockets
ดูเหมือนว่าจะง่ายต่อการเพิ่มส่วนหัว HTTP ที่กำหนดเองไปยังไคลเอนต์ websocket ของคุณด้วยไคลเอนต์ส่วนหัว HTTP ใด ๆ ที่สนับสนุนสิ่งนี้ แต่ฉันไม่สามารถหาวิธีที่จะทำกับ JSON API แต่ก็ดูเหมือนว่าควรจะมีการสนับสนุนส่วนหัวเหล่านี้ในสเปค ทุกคนมีเงื่อนงำเกี่ยวกับวิธีการบรรลุหรือไม่ var ws = new WebSocket("ws://example.com/service"); โดยเฉพาะฉันต้องสามารถส่งส่วนหัว HTTP Authorization

7
เหตุใดจึงต้องใช้ AJAX เมื่อ WebSockets พร้อมใช้งาน
ฉันใช้ WebSockets มาระยะหนึ่งแล้วฉันได้เลือกที่จะสร้างเครื่องมือการจัดการโครงการ Agile สำหรับโครงการปีสุดท้ายของฉันที่ University โดยใช้เซิร์ฟเวอร์ Node และ WebSockets ฉันพบว่าการใช้ WebSockets มีจำนวนคำขอเพิ่มขึ้น 624% ต่อวินาทีที่แอปพลิเคชันของฉันสามารถดำเนินการได้ อย่างไรก็ตามตั้งแต่เริ่มโครงการฉันได้อ่านช่องโหว่ความปลอดภัยและเบราว์เซอร์บางตัวเลือกที่จะปิดการใช้งาน WebSockets โดยค่าเริ่มต้น .. นี่ทำให้ฉันมีคำถาม: เหตุใดจึงต้องใช้ AJAX เมื่อ WebSockets ดูเหมือนว่าจะทำงานที่ยอดเยี่ยมในการลดความหน่วงแฝงและค่าใช้จ่ายทรัพยากรมีอะไรที่ AJAX ทำได้ดีกว่า WebSockets หรือไม่

12
ส่งข้อความไปยังไคลเอ็นต์ที่ระบุพร้อมกับ socket.io และ node.js
ฉันทำงานกับ socket.io และ node.js และจนถึงตอนนี้มันก็ค่อนข้างดี แต่ฉันไม่รู้วิธีส่งข้อความจากเซิร์ฟเวอร์ไปยังไคลเอนต์ที่เฉพาะเจาะจงดังนี้: client.send(message, receiverSessionId) แต่ไม่.send()หรือ.broadcast()วิธีการที่ดูเหมือนจะต้องจัดหาของฉัน สิ่งที่ฉันได้พบว่าเป็นวิธีแก้ปัญหาที่เป็นไปได้คือ.broadcast()วิธีการที่ยอมรับเป็นพารามิเตอร์ที่สองอาร์เรย์ของ SessionIds ที่ไม่ส่งข้อความดังนั้นฉันสามารถผ่านอาร์เรย์ที่มี SessionIds ทั้งหมดที่เชื่อมต่อในขณะนั้นไปยังเซิร์ฟเวอร์ยกเว้นหนึ่ง ฉันต้องการส่งข้อความ แต่ฉันรู้สึกว่าต้องมีทางออกที่ดีกว่า ความคิดใด ๆ

5
ความแตกต่างระหว่างซ็อกเก็ตและ websocket
ฉันกำลังสร้างแอปพลิเคชันเว็บที่ต้องการสื่อสารกับแอปพลิเคชันอื่นโดยใช้การเชื่อมต่อซ็อกเก็ต นี่คือดินแดนใหม่สำหรับฉันดังนั้นต้องการให้แน่ใจว่าซ็อกเก็ตที่แตกต่างกันกว่าWebSockets ดูเหมือนว่าพวกเขาจะคล้ายกันกับแนวคิดเท่านั้น ถามเพราะในตอนแรกฉันวางแผนที่จะใช้ Django เป็นพื้นฐานสำหรับโครงการของฉัน แต่ในโพสต์ SO ฉันเชื่อมโยงกับด้านบนมันชัดเจนมากว่า websockets เป็นไปไม่ได้ (หรืออย่างน้อยก็ไม่น่าเชื่อถือแม้จะมี django-websockets ) โดยใช้การตั้งค่า Django ที่ต้องการ (Apache กับ mod_wsgi) แต่ฉันได้พบการโพสต์อื่น ๆ ที่ตั้งใจนำเข้าโมดูลซ็อกเก็ต ธ สำหรับสิ่งที่ง่ายเป็นโลภชื่อโฮสต์ของเซิร์ฟเวอร์ ดังนั้น: พวกเขาแตกต่างกันจริง ๆ ? มีเหตุผลใดที่จะไม่ใช้ Django สำหรับโครงการที่อาศัยการเชื่อมต่อซ็อกเก็ตกับเซิร์ฟเวอร์ภายนอกหรือไม่?

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