mirror of
https://github.com/defold/extension-websocket.git
synced 2025-06-27 09:47:44 +02:00
60 lines
1.8 KiB
Markdown
60 lines
1.8 KiB
Markdown
---
|
|
title: Defold websocket extension API documentation
|
|
brief: This manual covers how to use websockets with Defold
|
|
---
|
|
|
|
# Defold websocket extension API documentation
|
|
|
|
This extension supports both secure (`wss://`) and non secure (`ws://`) websocket connections.
|
|
All platforms should support this extension.
|
|
|
|
|
|
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)
|
|
self.connection = nil
|
|
elseif data.event == websocket.EVENT_CONNECTED then
|
|
print("Connected " .. conn)
|
|
-- self.connection = conn
|
|
elseif data.event == websocket.EVENT_ERROR then
|
|
print("Error:", data.message)
|
|
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) .. "'")
|
|
end
|
|
end
|
|
|
|
function init(self)
|
|
self.url = "ws://echo.websocket.org"
|
|
local params = {}
|
|
self.connection = websocket.connect(self.url, params, websocket_callback)
|
|
end
|
|
|
|
function finalize(self)
|
|
if self.connection ~= nil then
|
|
websocket.disconnect(self.connection)
|
|
end
|
|
end
|
|
```
|
|
|
|
|
|
## Installation
|
|
To use this library in your Defold project, add the following URL to your `game.project` dependencies:
|
|
|
|
https://github.com/defold/extension-websocket/archive/master.zip
|
|
|
|
We recommend using a link to a zip file of a [specific release](https://github.com/defold/extension-websocket/releases).
|
|
|
|
|
|
## Source code
|
|
|
|
The source code is available on [GitHub](https://github.com/defold/extension-websocket)
|
|
|
|
## API reference
|
|
|
|
https://defold.com/extension-websocket/api/ |