MQL5Book/Experts/p7/wsEcho/wsecho.mq5
super.admin 1c8e83ce31 convert
2025-05-30 16:09:41 +02:00

45 lines
1.8 KiB
MQL5

//+------------------------------------------------------------------+
//| wsecho.mq5 |
//| Copyright 2022, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property script_show_inputs
//+------------------------------------------------------------------+
//| I N P U T S |
//| Choose 'wss:' protocol for secured TLS connection, |
//| if the server is setup for it |
//+------------------------------------------------------------------+
input string Server = "ws://localhost:9000/";
input string Message = "My outbound message";
#include "..\..\..\Include\AutoPtr.mqh"
#include "..\..\..\Include\ws\wsclient.mqh"
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
Print("\n");
WebSocketClient<Hybi> wss(Server);
Print("Opening...");
if(wss.open())
{
Print("Waiting for welcome message (if any)");
AutoPtr<IWebSocketMessage> welcome(wss.readMessage());
Print("Sending message...");
wss.send(Message);
Print("Receiving echo...");
// waiting for new messages in 'blocking' mode (default timeout 5 seconds)
AutoPtr<IWebSocketMessage> echo(wss.readMessage());
}
if(wss.isConnected())
{
Print("Closing...");
wss.close();
}
}
//+------------------------------------------------------------------+