-
Notifications
You must be signed in to change notification settings - Fork 1
/
test.sma
75 lines (60 loc) · 1.71 KB
/
test.sma
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include "./websocket.inc"
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Reveres"
new Handle;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(5.0, "startopen");
}
public startopen()
{
server_print("- [TEST] Creating WS handle");
Handle = ws_create();
server_print("- [TEST] Handle created %d", Handle);
ws_bind(Handle, WS_BIND_OPEN, "OnWSOpened");
ws_bind(Handle, WS_BIND_RECEIVE_TEXT, "OnWSReceivedText");
//ws_bind(Handle, WS_BIND_RECEIVE_BINARY, "OnWSReceivedBinary");
ws_bind(Handle, WS_BIND_CLOSE, "OnWSClosed");
ws_bind(Handle, WS_BIND_ERROR, "OnWSError");
server_print("- [TEST] ws_open...");
new status = ws_open(Handle, "echo.websocket.org", 80, "/");
server_print("- [TEST] Opened with status %d", status);
}
public OnWSOpened()
{
server_print("- [TEST] OnWSOpened called");
ws_send(Handle, WS_DATA_TYPE_TEXT, false, "Hello world");
//ws_send(Handle, WS_DATA_TYPE_BINARY, false, "xxx", 3);
set_task(10.0, "close");
}
public close()
{
server_print("- [TEST] closing connection");
ws_close(Handle, "Goodbye");
//set_task(5.0, "reconnect");
}
public reconnect()
{
new status = ws_reconnect(Handle);
server_print("- [TEST] Reconnected with status %d", status);
}
public OnWSReceivedText(const text[])
{
server_print("- [TEST] OnWSReceivedText called. %s", text);
}
public OnWSReceivedBinary(const data[], dataLen)
{
server_print("- [TEST] OnWSReceivedBinary called. %d", dataLen);
}
public OnWSClosed(reason, const data[])
{
server_print("- [TEST] OnWSClose called. %s | %d", data, reason);
}
public OnWSError(reason)
{
server_print("- [TEST] OnWSError called. %d", reason);
}