Heim  >  Artikel  >  Web-Frontend  >  Was ist Websocket? Websocket in h5 analysieren

Was ist Websocket? Websocket in h5 analysieren

零下一度
零下一度Original
2017-05-10 13:54:291473Durchsuche

Was ist WebSocket?

WebSocketDer Server und der Client können in beide Richtungen kommunizieren und eine domänenübergreifende Kommunikation ermöglichen. Unterstützt durch den HTTP/1.1-Mechanismus von Upgrade, Kommunikation über ws (unverschlüsselt) oder wss (verschlüsselt) Protokolle

WebSocket WebSocket(
  in DOMString url,
  in optional DOMString protocols
);

WebSocket WebSocket(
  in DOMString url,
  in optional DOMString[] protocols
);

WebSocket in HTML5

HTML5Konzentrieren Sie sich nur auf den Kunden<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> und auf der Serverseite implementiert jede Sprache das Ereignis

// 创建一个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

Attribute

  • readyState: CONNECTING  0 OPEN  1 CLOSING 2 CLOSED  3

  • binaryType: String Blob ArrayBuffer

Kompatibilität

Methode 1:
Wenn der Client WebSocket nicht unterstützt, stehen mehrere Kandidaten zur Verfügung Flash Socket AJAX long-polling AJAX multipart streaming IFrame <a href="http://www.php.cn%20/wiki/%201488.html" target="_blank">JSON<code><a href="http://www.php.cn/wiki/1488.html" target="_blank">JSON</a>P pollingP-Abfrage

Methode 2
Verwenden Sie Socket.io, um die Unterschiede auszugleichen. Die Bibliothek kann Verwenden Sie automatisch die vom Browser unterstützte Nachrichten-Push-Methode, um eine Verbindung herzustellen, wenn der Browser WebSocket nicht unterstützt. Die Bibliothek erkennt auch, ob die Verbindung unterbrochen wird, und stellt automatisch die Verbindung wieder her, wenn sie unterbrochen wird.

// 创建Socket.IO实例,建立连接
var socket= new io.Socket(&#39;localhost&#39;,{
  port: 8080,
});
socket.connect();
// 添加一个连接监听器
socket.on(&#39;connect&#39;,function(){
  console.log(&#39;Client has connected to the server!&#39;);
});
// 添加一个连接监听器
socket.on(&#39;message&#39;,function(data){
  console.log(&#39;Received a message from the server!&#39;,data);
});
// 添加一个关闭连接的监听器
socket.on(&#39;disconnect&#39;,function(){
  console.log(&#39;The client has disconnected!&#39;);
});
// 通过Socket发送一条消息到服务器
function sendMessageToServer(message){
  socket.send(message);
}

Vorteile

  • Zwei-Wege-Kommunikation in Echtzeit

  • Die native Unterstützung des Browsers ist gut (Kompatibilität kann genutzt werden). Bibliotheken von Drittanbietern (Sehr einfach zu lösen)

  • Unterstützung benutzerdefinierter Protokolle

Praktische Anwendung

  • Chatroom

  • Server-Nachrichten-Push

  • Front-End- und Back-End-Echtzeitsystem

[Verwandte Empfehlungen]

1. Kostenloses h5-Online-Video-Tutorial

2. HTML5-Vollversionshandbuch

3 . php.cn Original-HTML5-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist Websocket? Websocket in h5 analysieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn