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

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

บอกตามตรง มีข่าวดี 3 เรื่องและการเปลี่ยนแปลง API เล็กน้อย

RTCDataChannel สำหรับ Chrome

มีการนำ RTCDataChannel มาใช้ใน Chrome ซึ่งมีการสาธิตการใช้งานเล็กๆ น้อยๆ ที่ simpl.info/dc

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

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

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

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

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

  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