I'm trying to receive websocket data use socket ext. connect is successful, but the SocketReceive callback returns some strange data
PHP Code:
g_hSockets.Connect(OnSocketConnected, OnSocketReceive, OnSocketDisconnected, "192.168.1.144", 5701);
void OnSocketConnected(Socket socket, any arg)
{
char requestStr[512];
requestStr =
"GET ws://192.168.1.144:5701/ HTTP/1.1\r\n"
... "Host: 192.168.1.144:5701\r\n"
... "Connection: Upgrade\r\n"
... "Upgrade: websocket\r\n"
... "Origin: http://192.168.1.144:5701\r\n"
... "Sec-WebSocket-Version: 13\r\n"
... "Sec-WebSocket-Key: NOj36xnRF7Lrf5CEJsjcxA==\r\n\r\n"
g_hSockets.Send(requestStr);
PrintToServer("Socket connect success!");
}
void OnSocketReceive(Socket socket, const char[] receiveData, const int dataSize, any arg)
{
if (StrContains(receiveData, "HTTP/1.1 101 Switching Protocols", true) == 0) return;
PrintToServer("message: %s", receiveData);
}
received data
Code:
message: ~{"post_type":"meta_event","meta_event_type":"heartbeat","time":1680535049,"self_id":2858039721,"status":{"app_enabled":true,"app_good":true,"app_initialized":true,"good":true,"online":true,"plugins_good":null,"stat":{"packet_received":51135,"packet_sent":35401,"packet_lost":0,"message_received":14160,"message_sent":0,"disconnect_times":0,"lost_times":0,"last_message_time":1680534822}},"interval":5000}
why first char is ~?