mobile - 移动客户端的 websockets

是否必须让客户端成为 Web 服务器的浏览器?对于拥有一些非浏览器客户端并从网络服务器获取数据的移动客户端来说,这是一个很好的架构吗?

我正在考虑在移动客户端上实现一个基本的浏览器。使用网络方法登录,其余通信(每 10 秒监控一次信息)使用网络套接字完成。这行得通吗?

我可以在没有 JS 的情况下实现 Web 套接字吗?

谢谢

最佳答案

您可以在浏览器之外实现 WebSockets,并且不涉及任何 JavaScript。例如,您可以拥有一个通过 WebSockets 与服务器对话的 Android native Java 应用程序。

WebSockets 是一种协议(protocol)。为在浏览器中运行的 JavaScript 定义的 WebSockets API 有所不同。

您可以在 WebSockets 握手期间使用 HTTP 可用的任何方法(即基本身份验证、摘要、cram-md5、基于客户端证书 (TLS) 等)对 WebSockets 连接进行身份验证,因为 WebSockets 握手仍然是与任何其他 HTTP 对话一样。只有握手完成后,WS 才不同于HTTP。

请注意,您在服务器端可能需要的不是普通的旧 Web 服务器,而是 WebSockets 服务器/框架。

使用 WS 连接移动客户端是否是“一个好的架构”有点模糊。我会说:如果您决定让您的移动客户端与服务器对话,并且该服务器在您的控制之下,并且您想利用 WS 的优势,例如近实时/双向,那么它可能要好。比编写自己的低级协议(protocol)更好。

https://stackoverflow.com/questions/7404781/

相关文章:

php - Wordpress - 按日期范围获取帖子

python - 如何将空查询集指定为非空查询集 : [ ] to []

r - 分成3个字符长度

r - 在 R 中缩放数据忽略特定列

bash - nohup 和 sed,重定向 stderr 和 stdout

php - 在 PHP 中使用不可打印字符作为分隔符?

objective-c - 在 UIImageView 之上覆盖 UIImage,可能吗?示例代码?

macos - sudo 命令后出现段错误

c# - 有没有办法在没有 return 语句的情况下在函数中返回默认值?

groovy - 在 Groovy 中使用 When and Then?