WebSocket
서버와 클라이언트는 양방향으로 통신할 수 있으며 도메인 간 통신을 허용합니다. HTTP/1.1
의 Upgrade
메커니즘으로 지원, HTML5의 ws
WebSocket WebSocket( in DOMString url, in optional DOMString protocols ); WebSocket WebSocket( in DOMString url, in optional DOMString[] protocols );
wss
WebSocket 🎜>HTML5
클라이언트 <a href="http://www.php.cn/js/js-weixinapp-api.html" target="_blank">API<code><a href="http://www.php.cn/js/js-weixinapp-api.html" target="_blank">API</a>
에만 집중하세요. code>, 그리고 서버측에서는 각 언어가
// 创建一个Socket实例 var socket = new WebSocket('ws://localhost:8080'); // 打开Socket socket.onopen = function(event){ // 发送一个初始化消息 socket.send('I am the client and I\'m listening!'); // 监听消息 socket.onmessage = function(event){ console.log('Client received a message',event); }; // 监听Socket的关闭 socket.onclose = function(event){ console.log('Client notified socket has closed',event); }; // 关闭Socket.... //socket.close() };
이벤트 onclose
onerror
onmessage
onopen
<🎜를 구현합니다. >
: readyState
CONNECTING 0
OPEN 1
CLOSING 2
CLOSED 3
: binaryType
String
Blob
ArrayBuffer
방법 1:클라이언트가
을 지원하지 않으면 여러 후보를 사용할 수 있습니다 WebSocket
Flash Socket
AJAX long-polling
AJAX multipart streaming
<a href="http://www.php.cn/wiki/1488 .html" target="_blank">JSON<code>IFrame
P 폴링<a href="http://www.php.cn/wiki/1488.html" target="_blank">JSON</a>P polling
방법 2
를 사용하여 차이를 완화합니다. 라이브러리는 다음과 같습니다. 브라우저가 Socket.io
을 지원하지 않는 경우 자동으로 브라우저에서 지원하는 메시지 푸시 방식을 사용하여 연결됩니다. 또한 라이브러리는 연결이 끊어졌는지 여부를 감지하고 끊어진 경우 자동으로 다시 연결합니다. WebSocket
// 创建Socket.IO实例,建立连接 var socket= new io.Socket('localhost',{ port: 8080, }); socket.connect(); // 添加一个连接监听器 socket.on('connect',function(){ console.log('Client has connected to the server!'); }); // 添加一个连接监听器 socket.on('message',function(data){ console.log('Received a message from the server!',data); }); // 添加一个关闭连接的监听器 socket.on('disconnect',function(){ console.log('The client has disconnected!'); }); // 通过Socket发送一条消息到服务器 function sendMessageToServer(message){ socket.send(message); }
위 내용은 웹소켓이란 무엇입니까? h5의 웹소켓 구문 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!