Heim >Web-Frontend >js-Tutorial >Kann JavaScript von einem Browser aus eine direkte Verbindung zu einem TCP-Socket herstellen?

Kann JavaScript von einem Browser aus eine direkte Verbindung zu einem TCP-Socket herstellen?

DDD
DDDOriginal
2024-10-21 07:17:02951Durchsuche

Can JavaScript Directly Connect to a TCP Socket from a Browser?

Kann JavaScript über einen Browser eine Verbindung zu einem TCP-Socket herstellen?

Kontext:

Sie haben eine VB.NET-Anwendung mit einem lauschenden TCP-Socket. Sie möchten mit dieser Anwendung über ein JavaScript-Skript kommunizieren, das in einem Browser ausgeführt wird. Das Ziel besteht darin, Daten an den Socket zu senden, eine Antwort mit neuen Daten zu empfangen und diese im Browser anzuzeigen.

Antwort:

Derzeit nein Die wichtigsten Browser verfügen über eine integrierte Raw-Socket-API für JavaScript. Daher können Sie mit JavaScript keine direkte Verbindung zu einem TCP-Socket herstellen.

Mögliche Lösungen:

  • XHR oder WebSockets: Diese Technologien ermöglichen für asynchrone Datenübertragung, haben aber Einschränkungen im Vergleich zu Raw-Sockets.
  • Experimentelle Chrome-API: Chrome bietet experimentelle Unterstützung für Raw-TCP-Sockets, ist aber derzeit nur für Chrome-Apps verfügbar.

Verwenden der experimentellen API von Chrome:

Um die Socket-API in Chrome zu verwenden, aktivieren Sie das Experimental-Flag im Manifest Ihrer Erweiterung. Codebeispiele zum Erstellen und Herstellen einer Verbindung zu einem TCP-Socket mithilfe der experimentellen API von Chrome:

<code class="javascript">chrome.experimental.socket.create('tcp', '127.0.0.1', 8080, function(socketInfo) {
  chrome.experimental.socket.connect(socketInfo.socketId, function (result) {
    chrome.experimental.socket.write(socketInfo.socketId, "Hello, world!");
  });
});</code>

Das obige ist der detaillierte Inhalt vonKann JavaScript von einem Browser aus eine direkte Verbindung zu einem TCP-Socket herstellen?. 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