【问题标题】:How to connect HTML WebSocket to C++ Socket如何将 HTML WebSocket 连接到 C++ Socket
【发布时间】:2018-07-26 00:04:47
【问题描述】:

我有一个应用程序,我试图连接到打开套接字的 C++ 服务器。

//客户端

var ws = new WebSocket('ws://<<IP:PORT>>');

在服务器端,它正在使用

打开一个套接字
int sockfd = socket(domain, type, protocol) 

(参考:https://www.geeksforgeeks.org/socket-programming-cc/

不知道 c++ 服务器实现。

我被告知服务器将启动一个 WebSocket 服务器,我的 HTML 应用程序可以连接到该服务器。

但是,连接没有发生。我觉得客户端的 WebSocket 和服务器端的 socket 不一样,因此连接没有建立。

请有人提出问题以及如何改正的建议。

附:请不要介意这是一个愚蠢的问题。

【问题讨论】:

  • 试试专门标记为 Websocket 的东西吧? codeproject.com/Articles/371188/…
  • socket != WebSocket
  • 谁告诉你一个普通的套接字会神奇地变成一个 WebSocket,这是错误的。
  • @gre_gor 建立连接的方法是什么,请指教。我认为服务器应该打开一个WebSocket,然后WebSocket客户端才能连接,对吗?

标签: javascript c++ sockets websocket


【解决方案1】:

由于服务器人员还没有准备好更改他们对普通套接字的实现,作为一种解决方法,我创建了一个 C++ 客户端,它使用普通套接字连接到服务器。然后我使用 NodeJs 创建一个 WebSocket 服务器,它将 C++ 客户端作为子进程执行以获取数据。所以,我的 WebSocket 客户端现在可以通过 NodeJs WebSocket 接口服务器从主服务器获取数据了。

缺点:

  1. C++ 客户端的依赖项。
  2. 延迟(由于网络速度现在不是一个因素,它可以工作)。

【讨论】:

  • 你有没有问过服务器人员打算如何使用套接字?
  • 是的,@LightnessRacesinOrbit 我已经问过他们,但他们不喜欢回答问题,所以我遵循了解决方法,因为我是有需要的人 :)
  • 我问的原因是他们必须为 something 创建它,您最好将数据用于其预期目的,否则完全切换到其他东西。尽管如果这是您必须做的,那么您的界面解决方法听起来确实合理。
猜你喜欢
  • 2016-09-26
  • 2023-03-17
  • 2014-02-15
  • 1970-01-01
  • 1970-01-01
  • 2017-11-15
  • 1970-01-01
  • 1970-01-01
  • 2018-01-18
相关资源
最近更新 更多