javascript - Stellen Sie eine Frage zum Erstellen einer Instant-Messaging-Funktion auf einer Webseite? ?
typecho
typecho 2017-06-28 09:22:36
0
2
660

Frage: Ich möchte eine Funktion ähnlich der QQ-Chat-Oberfläche auf der Homepage der Website erstellen. Es muss nur der Avatar des Benutzers und der gesendete Inhalt angezeigt werden, und das ist auch nicht erforderlich Zeichnen Sie den Chat auf. Einfach die letzten 20 Datensätze in Echtzeit anzeigen?

Persönliche Idee: Da die Funktion relativ einfach und nicht sehr kompliziert ist und der angezeigte Inhalt nur die neuesten 20 Elemente benötigt, plane ich, dafür die AJAX-Abfragemethode zu verwenden. Wenn der Benutzer den Chat-Datensatz eingibt, wird der Datensatz gespeichert in der Datenbank (AJAX-Abfrage liest Datenbankdaten in Echtzeit) und zeigt die Daten nach dem Abrufen auf der Seite an. Ist es in Ordnung, dies zu tun? Wird es Probleme geben, wenn ich mit mehreren Personen chatte? Wenn beispielsweise Daten auf der Seite angezeigt werden, sind sie sehr langsam oder so?

Websoket kann dazu verwendet werden, aber ich habe es noch nie verwendet und weiß nicht, ob es auf einem Windows-Server verwendet werden kann (das Projekt wird unter Windows bereitgestellt).

Hier stellt sich die Frage: Gibt es gute und einfache Methoden? Gib mir einen Ratschlag! ! ! !

typecho
typecho

Following the voice in heart.

Antworte allen(2)
为情所困

websocket或者socket.io就可以实现了, 这个和操作平台关系不是很大, 和你实现的web服务程序关系比较大, 因为你得选择一个一个web程序支持websocket或者socket.io. 我之前用node.js`实现过, 也是参考网上的例子, 你也可以参考下
Node.js + Web Socket 打造即时聊天程序嗨聊

小葫芦

AJAX轮询的话,多人聊天时候,每个终端都得不断去请求数据库数据,有以下几个缺点:

  1. 由于请求次数比较多,会增加服务器的压力。

  2. AJAX轮询本身比较慢

  3. 由于浏览器对于同一个域名下的AJAX请求数量有限制,所以数据交互的效率还是挺低的。

如果用WebSocket的话,我建议用nodeJSws做一个广播服务,可以挂起在Windows后台,也可以随意移植,相当方便,用到的库是这个:https://www.npmjs.com/package/ws
不得不说,NodeJS写的东西无论的可移植性、扩展性还是兼容性都是挺不错的。

具体操作就不说了,可以参见ws包的broadcase example示例来写。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!