javascript - 我怎样才能做客户端到客户端(浏览器)套接字连接?

标签 javascript html sockets websocket

我一直在考虑构建一个客户端到客户端程序。但我想要的方式是使用浏览器来完成它,并在可以建立该连接的服务器的帮助下。

当我需要在客户端中有一个未连接的套接字(或被动套接字)等待连接时,麻烦就来了。

我一直在考虑 Html5 WebSockets,但它并没有为客户端提供在不使用 TCP 协议(protocol)连接的情况下拥有被动套接字的可能性。

我正在学习这个,并试图找到方法来做到这一点。欢迎所有想法 :D。

最佳答案

您可以在 Java 小程序、Flash 和其他浏览器插件中使用被动套接字,但通常这对于公共(public) Web 应用程序来说可能会有问题。

首先,很难通过防火墙等,您需要依赖并编写实现套接字 API 的浏览器插件代码,并将其桥接到 JavaScript。如果您对某些解决方案感兴趣,您可能需要查看以下 Stack Overflow 帖子:

浏览器之间点对点通信的传统方法是让您的服务器充当所有连接的网关。浏览器启动连接(使用 WebSocketsXMLHttpRequest )并始终保持与服务器的事件连接,如果连接断开则重新建立连接。由于服务器应用程序总是会找到一个打开的 TCP 连接到所有连接的浏览器,它可以轻松地将消息路由到/来自所有客户端。

关于javascript - 我怎样才能做客户端到客户端(浏览器)套接字连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3864550/

相关文章:

javascript - 最大高度容器,里面有非常高的固定位置容器

javascript - 根据 href URL 隐藏 anchor 标记

php - 带有强制分页符的打印表

javascript - 无法在javascript中获得 "\n"的效果

javascript - 从 PHP 返回二维数组到 JavaScript

javascript - 当其中一个面板以 Accordion 形式打开时关闭其他面板

javascript - 使用 Meteor 为特定页面/路由指定 'html, body' css 设置

客户端连接不稳定的python套接字服务器/客户端协议(protocol)

具有多个客户端的 C# 套接字(多线程方法)

c++ - 为 posix recv 设置超时会导致丢失 udp 数据包吗?