【问题标题】:Connecting a web client to a c++ server with TCP使用 TCP 将 Web 客户端连接到 C++ 服务器
【发布时间】:2015-08-23 04:08:51
【问题描述】:

我编写了一个等待客户端的简单 C++ 服务器。

我希望用户能够通过打开网页而无需安装任何东西来连接到此客户端。所以我唯一想到的就是使用 Javascript。由于服务器需要稍后实时做出反应(性能是一个问题),因此不需要使用 POST/GET 发送数据。

这可以通过 Node.js 或 Socket.io 实现吗?我试图找到一个很好的例子,但我只找到 node.js 服务器。当我用

打开一个套接字时
  var socket = io.connect('localhost:25003');

它正在发送奇怪的数据。

有没有人有一个可以连接到任何东西并发送原始数据的 javascript 客户端的简单示例?

【问题讨论】:

    标签: node.js tcp socket.io tcpclient


    【解决方案1】:

    您不能从浏览器执行纯 TCP(除非您正在编写浏览器插件/扩展或可能使用 Java 小程序或 Flash 桥之类的东西)。 Socket.IO 总是使用 HTTP。然而,这些 HTTP 连接随后可以升级到 WebSockets 或其他协议,具体取决于浏览器和/或 Internet 连接支持的内容。

    您看到的“奇怪数据”可能是一条 HTTP 消息。

    【讨论】:

    • 好吧,如果我仔细想想,这似乎很明显。现在的问题是,我可以在客户端使用 socket.io 而在服务器端仍然使用 c++ 吗? Websocket 库(在 c++ 端)是否就足够了,还是我需要在客户端使用“原始”websockets 来实现这一点?
    • 您特别需要一个 socket.io C++ 库,因为 socket.io 在 websockets、长轮询等之上有自己的协议。据我所知,没有服务器部分用于C++,只有客户端库。
    • 我在 C++ 中发现了带有 QT 的 socket.io 客户端,但没有服务器。所以也许我应该直接使用 Websockets 或者甚至使用 node.js 作为桥梁将它发送到我的 c++ 服务器?您能想到将 Web 客户端连接到 C++ 服务器的任何替代方法吗?
    猜你喜欢
    • 2019-06-18
    • 1970-01-01
    • 2015-08-21
    • 2017-03-06
    • 2021-08-12
    • 2022-01-16
    • 2019-06-06
    • 2017-02-24
    • 1970-01-01
    相关资源
    最近更新 更多