WebSocket protocol is a new protocol of HTML5. It realizes full-duplex communication between the browser and the server and allows cross-domain communication. It is a good implementation of server push technology. We use Socket.io, which encapsulates the webSocket interface very well, provides a simpler and more flexible interface, and also provides backward compatibility for browsers that do not support webSocket.
I encounter a JavaScript cross-domain problem in my project. The parent page and the child page need to communicate, and the parent and child pages are cross-domain. What should I do?
In the project, we need to ensure that the communication between the parent and child pages is point-to-point. We need to establish a WebSocket correspondence between the parent and child pages on the server side. That is, messages sent by the parent page are only received by the child page, and messages from the child page are only received by the parent page. We did the following. Work, strictly guaranteed
WebSocket communication is peer-to-peer:First, the URL to establish the WebSocket link is added with a timestamp to ensure that the communication session is unique;
The second is to ensure the one-to-one WebSocket correspondence between the parent and child pages on the server side. When the WebSocket of the parent and child pages is opened, it will send a message to the server to register and establish the corresponding relationship between Sensions. Then the parent and child pages can communicate through the communication protocol constrained by both parties.
Here we write a demo:
var p = document.getElementsByTagName('p ')[0];var io = io.connect('http://127.0.0.1:3001 ');io.on('data ',function(data){alert( 'Change data after 2S');p.innerHTML = data});
server side
var io = require('socket.io ')(server);io.on('connection ',function(client){client.emit('data ', 'hello WebSocket from 3001. ');});
That’s all for today, I hope it will be helpful to you. At the same time, if you don’t want to spend too much time on WebSocket, you can try using third-party WebSocket, similar to GoEasy Aurora.
GoEasy is recommended here, it is simple and easy to use www.goeasy.io and it is free, you can try it.
The above is the entire content of this article. I hope it will be helpful to everyone’s study. I also hope everyone will support VeVb Wulin Network.