WebRTC - การสาธิต RTCDataChannel, การเปลี่ยนแปลง API... และ Chrome พูดกับ Firefox

ข่าวดีเพิ่มเติมจากเพื่อนเก่าอย่าง WebRTC

พูดให้เจาะจงคือข่าวดี 3 รายการและการเปลี่ยนแปลง API เล็กน้อย 2 รายการ

RTCDataChannel สำหรับ Chrome

RTCDataChannel มีการใช้งานใน Chrome และมีตัวอย่างที่ดีอยู่ที่ simpl.info/dc

การสาธิตนี้แสดงการสื่อสารแบบ peer-to-peer ของข้อมูลแบบไม่เจาะจงด้วยโค้ดไม่ถึงร้อยบรรทัด คุณต้องใช้ Chrome เวอร์ชัน 25 ขึ้นไป ซึ่งตอนนี้หมายถึงเวอร์ชันเบต้าหรือ Canary

RTCDataChannel ใช้ประโยชน์จากฟีเจอร์ต่างๆ ที่ฝังอยู่ใน RTCPeerConnection ให้ได้มากที่สุด รวมถึงการใช้เฟรมเวิร์ก ICE เพื่อผ่านไฟร์วอลล์และ NAT และยังมีแอปพลิเคชันจำนวนมากที่อาจเป็นไปได้ซึ่งเวลาในการตอบสนองต่ำเป็นสิ่งสำคัญที่สุด เช่น สําหรับเกม แอปพลิเคชันเดสก์ท็อประยะไกล แชทข้อความแบบเรียลไทม์ และการโอนไฟล์

ดูข้อมูลเพิ่มเติมเกี่ยวกับ RTCDataChannel ได้ที่การเริ่มต้นใช้งาน WebRTC

การเปลี่ยนแปลง API

การเปลี่ยนแปลงที่น่าสนใจน้อยกว่าแต่ยังคงสำคัญ: ตั้งแต่ Chrome 26 พร็อพเพอร์ตี้ RTCPeerConnection และ MediaStream API บางรายการได้เปลี่ยนเป็นเมธอด getter ดังนี้

  1. ตอนนี้ MediaStream มีเมธอด getAudioTracks() แทนพร็อพเพอร์ตี้ audioTracks และ getVideoTracks() แทน videoTracks
  2. ตอนนี้ RTCPeerConnection มี getLocalStreams() แทน localStreams และ getRemoteStreams() แทน remoteStreams

หากต้องการดูภาพรวมของ MediaStream ที่กำลังทำงานอยู่ ให้ดูการสาธิต getUserMedia ที่ simpl.info/gum ตัวแปร stream อยู่ในขอบเขตส่วนกลาง ให้ตรวจสอบจากคอนโซล ในทำนองเดียวกันสำหรับ RTCPeerConnection ที่ simpl.info/pc ออบเจ็กต์ RTCPeerConnection pc1 และ pc2 อยู่ในขอบเขตส่วนกลาง

Chrome <=> Firefox

และ ในกรณีที่คุณ พลาด ข้อมูลนี้ไป ตอนนี้ Chrome สามารถ "พูดคุย" กับ Firefox ได้แล้ว

คุณลองใช้งานได้เลยที่ webrtc.org/start ซึ่งมีวิธีการอย่างละเอียด ลิงก์ไปยังซอร์สโค้ด และข้อมูลเกี่ยวกับความแตกต่างของ API

ขอขอบคุณ Mozilla และ Google ที่ทำให้ทุกอย่างเกิดขึ้น

ขอให้สนุกกับโค้ด และโปรดแจ้งให้เราทราบหากพบข้อบกพร่องใดๆ โดยแสดงความคิดเห็นในโพสต์นี้หรือที่ bugs.chromium.org และอย่าลืมว่าคุณสามารถดูข้อมูลการใช้งานล่าสุดได้จาก chromestatus.com ที่ยอดเยี่ยม