โปรโตคอล WebSocket เป็นโปรโตคอลใหม่ของ HTML5 ตระหนักถึงการสื่อสารแบบฟูลดูเพล็กซ์ระหว่างเบราว์เซอร์และเซิร์ฟเวอร์ และอนุญาตการสื่อสารข้ามโดเมน เป็นการนำเทคโนโลยีพุชเซิร์ฟเวอร์ไปใช้ที่ดี เราใช้ Socket.io ซึ่งห่อหุ้มอินเทอร์เฟซของ webSocket เป็นอย่างดี มีอินเทอร์เฟซที่เรียบง่ายและยืดหยุ่นมากขึ้น และยังให้ความเข้ากันได้แบบย้อนหลังสำหรับเบราว์เซอร์ที่ไม่รองรับ webSocket
ฉันพบปัญหาข้ามโดเมน JavaScript ในโปรเจ็กต์ของฉัน หน้าหลักและหน้ารองจำเป็นต้องสื่อสารกัน และหน้าหลักและหน้ารองเป็นแบบข้ามโดเมน ฉันควรทำอย่างไร
ในโครงการนี้ เราต้องแน่ใจว่าการสื่อสารระหว่างเพจหลักและเพจย่อยเป็นแบบจุดต่อจุด เราจำเป็นต้องสร้างการติดต่อสื่อสารของ WebSocket ระหว่างเพจหลักและเพจย่อยทางฝั่งเซิร์ฟเวอร์ เพจย่อยได้รับเฉพาะเพจย่อยเท่านั้น และเพจหลักจะได้รับข้อความจากเพจหลักเท่านั้น
การสื่อสาร WebSocket เป็นแบบเพียร์ทูเพียร์:ขั้นแรก URL เพื่อสร้างลิงก์ WebSocket จะถูกเพิ่มด้วยการประทับเวลาเพื่อให้แน่ใจว่าเซสชันการสื่อสารไม่ซ้ำกัน
ประการที่สองคือเพื่อให้แน่ใจว่า WebSocket โต้ตอบแบบหนึ่งต่อหนึ่งระหว่างเพจหลักและเพจย่อยบนฝั่งเซิร์ฟเวอร์ เมื่อเปิด WebSocket ของเพจหลักและเพจย่อย ระบบจะส่งข้อความไปยังเซิร์ฟเวอร์เพื่อลงทะเบียนและสร้างความสัมพันธ์ที่สอดคล้องกันระหว่าง Sensions จากนั้นเพจหลักและเพจย่อยสามารถสื่อสารผ่านโปรโตคอลการสื่อสารที่ทั้งสองฝ่ายจำกัด
ที่นี่เราเขียนการสาธิต:
var p = document.getElementsByTagName('p ')[0];var io = io.connect('http://127.0.0.1:3001 ');io.on('data ',function(data){alert( 'เปลี่ยนข้อมูลหลังจาก 2S');p.innerHTML = data});ฝั่งเซิร์ฟเวอร์
var io = need('socket.io ')(server);io.on('connection ',function(client){client.emit('data ', 'hello WebSocket from 3001. ');});นั่นคือทั้งหมดสำหรับวันนี้ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ ในเวลาเดียวกัน หากคุณไม่ต้องการใช้เวลากับ WebSocket มากเกินไป คุณสามารถลองใช้ WebSocket ของบริษัทอื่น ซึ่งคล้ายกับ GoEasy Aurora
ขอแนะนำ GoEasy ที่นี่ ใช้งานง่าย www.goeasy.io และฟรี คุณสามารถทดลองใช้ได้
ข้างต้นคือเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการศึกษาของทุกคน ฉันหวังว่าทุกคนจะสนับสนุน VeVb Wulin Network