mirror of
https://github.com/defold/extension-websocket.git
synced 2025-09-30 01:02:18 +02:00
Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
ba2b8e4a69 | ||
|
176f213060 |
@@ -14,18 +14,16 @@ Here is how you connect to a websocket and listen to events:
|
||||
```lua
|
||||
local function websocket_callback(self, conn, data)
|
||||
if data.event == websocket.EVENT_DISCONNECTED then
|
||||
print("disconnected " .. conn)
|
||||
log("Disconnected: " .. tostring(conn))
|
||||
self.connection = nil
|
||||
update_gui(self)
|
||||
elseif data.event == websocket.EVENT_CONNECTED then
|
||||
print("Connected " .. conn)
|
||||
-- self.connection = conn
|
||||
update_gui(self)
|
||||
log("Connected: " .. tostring(conn))
|
||||
elseif data.event == websocket.EVENT_ERROR then
|
||||
print("Error:", data.message)
|
||||
log("Error: '" .. data.error .. "'")
|
||||
elseif data.event == websocket.EVENT_MESSAGE then
|
||||
print("Receiving: '" .. tostring(data.message) .. "'")
|
||||
end
|
||||
elseif data.event == websocket.EVENT_DISCONNECTED then
|
||||
print("Disconnected: '" .. tostring(data.message) .. "'")
|
||||
log("Receiving: '" .. tostring(data.message) .. "'")
|
||||
end
|
||||
end
|
||||
|
||||
|
@@ -65,15 +65,16 @@
|
||||
```lua
|
||||
local function websocket_callback(self, conn, data)
|
||||
if data.event == websocket.EVENT_DISCONNECTED then
|
||||
print("disconnected " .. conn)
|
||||
log("Disconnected: " .. tostring(conn))
|
||||
self.connection = nil
|
||||
update_gui(self)
|
||||
elseif data.event == websocket.EVENT_CONNECTED then
|
||||
print("Connected " .. conn)
|
||||
-- self.connection = conn
|
||||
update_gui(self)
|
||||
log("Connected: " .. tostring(conn))
|
||||
elseif data.event == websocket.EVENT_ERROR then
|
||||
print("Error:", data.error)
|
||||
log("Error: '" .. data.error .. "'")
|
||||
elseif data.event == websocket.EVENT_MESSAGE then
|
||||
print("Receiving: '" .. tostring(data.message) .. "'")
|
||||
log("Receiving: '" .. tostring(data.message) .. "'")
|
||||
end
|
||||
end
|
||||
|
||||
|
@@ -87,23 +87,50 @@ void DebugPrint(int level, const char* msg, const void* _bytes, uint32_t num_byt
|
||||
if (level > g_DebugWebSocket)
|
||||
return;
|
||||
|
||||
char buffer[1024];
|
||||
char submessage[128];
|
||||
uint32_t sublength = 0;
|
||||
|
||||
uint32_t len = dmSnPrintf(buffer, sizeof(buffer), "%s '", msg);
|
||||
|
||||
const uint8_t* bytes = (const uint8_t*)_bytes;
|
||||
printf("%s '", msg);
|
||||
for (uint32_t i = 0; i < num_bytes; ++i)
|
||||
{
|
||||
if (len + 2 >= sizeof(buffer))
|
||||
{
|
||||
dmLogWarning("%s", buffer);
|
||||
buffer[0] = 0;
|
||||
len = 0;
|
||||
}
|
||||
|
||||
sublength = 0;
|
||||
|
||||
int c = bytes[i];
|
||||
if (isprint(c))
|
||||
printf("%c", c);
|
||||
sublength = dmSnPrintf(submessage, sizeof(submessage), "%c", c);
|
||||
else if (c == '\r')
|
||||
printf("\\r");
|
||||
sublength = dmSnPrintf(submessage, sizeof(submessage), "\\r");
|
||||
else if (c == '\n')
|
||||
printf("\\n");
|
||||
sublength = dmSnPrintf(submessage, sizeof(submessage), "\\n");
|
||||
else if (c == '\t')
|
||||
printf("\\t");
|
||||
sublength = dmSnPrintf(submessage, sizeof(submessage), "\\t");
|
||||
else
|
||||
printf("\\%02x", c);
|
||||
sublength = dmSnPrintf(submessage, sizeof(submessage), "\\%02x", c);
|
||||
dmStrlCat(buffer, submessage, sizeof(buffer));
|
||||
len += sublength;
|
||||
}
|
||||
printf("' %u bytes\n", num_bytes);
|
||||
|
||||
if (len + 2 >= sizeof(buffer))
|
||||
{
|
||||
dmLogWarning("%s", buffer);
|
||||
buffer[0] = 0;
|
||||
len = 0;
|
||||
}
|
||||
|
||||
sublength = dmSnPrintf(submessage, sizeof(submessage), "' %u bytes", num_bytes);
|
||||
dmStrlCat(buffer, submessage, sizeof(buffer));
|
||||
len += sublength;
|
||||
dmLogWarning("%s", buffer);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user