Delphi使用Websockets连接到NodeJs

3

我正在使用在https://github.com/andremussche/DelphiWebsockets找到的websocket库将我的Delphi应用程序连接到使用“socket.io”编写的NodeJs应用程序,但是我得到的只是一个“http/1.1 400 Bad Request”消息。 Delphi端的代码片段:

  fWebSocketClient:=TIdHTTPWebsocketClient.Create(Self);
  fWebSocketClient.Port:=8080;
  fWebSocketClient.Host:='localhost';
  fWebSocketClient.SocketIOCompatible:=true;
  fWebSocketClient.ProtocolVersion:=TIdHTTPProtocolVersion.pv1_1;
  fWebSocketClient.SocketIO.OnEvent(...
  fWebSocketClient.Connect;

当使用Chrome进行简单测试消息时,我的Node.js应用程序可以良好运行。 以下是Node.js代码示例:

var vhttpModule = require("http");
var socketIO = require('../../../NodeJs/node_modules/socket.io');
var vHttpServer=vhttpModule.createServer(...

vSocket_Io=socketIO.listen(vHttpServer,{});
vSocket_Io.sockets.on(
'connection',function(socket...

任何建议,我做错了什么吗?
1个回答

1

可能在此期间socket.io协议已更改,您可以使用Chrome嗅探发送的数据并将其与我的版本发送的数据进行比较。


我最终使用了SgcWebSockets组件。sgcWebSockets(作为客户端)在“api1”模式下与socket.io配合工作。然而,当我想创建一个Delphi套接字服务器时,我必须在NodeJs端使用“ws.js”来连接到Delphi套接字服务器。 - Henry Kerval

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接