This article mainly introduces relevant information on solving WebSocket cross-domain problems in detail. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
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, to ensure that the communication between the parent and child pages is point-to-point, it is necessary to establish a corresponding relationship between the WebSocket of the parent and child pages on the server side, that is, the messages sent by the parent page are only received by the child page, and the messages of the child page are only received by the parent page. Upon receipt, we have done the following to strictly ensure that
WebSocket communication is point-to-point:
First, establish the URL of the WebSocket link plus time The first one is to ensure that the communication session is unique; the second one 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(‘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 it for today. I hope it will be helpful to everyone. At the same time, if you don’t want to spend too much time doing it For WebSocket, you can try to use third-party WebSocket, similar to GoEasy Aurora.
Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study. For more related tutorials, please visit
Html5 Video Tutorial php public welfare training video tutorial HTML5 graphic tutorial HTML5Online ManualThe above is the detailed content of Detailed explanation of WebSocket cross-domain problem solving. For more information, please follow other related articles on the PHP Chinese website!