SHOW:
|
|
- or go back to the newest paste.
1 | #include <amxmodx> | |
2 | #include <amxmisc> | |
3 | #include <sockets_hz> | |
4 | ||
5 | #define PREFIX "[WAMod]" | |
6 | #define WAMOD_FILESIZE 4096 | |
7 | ||
8 | new g_ListeningSocket // Наш шпион сокет. | |
9 | ||
10 | new HTML_PATH[255] // Переменная хранит путь к html файлу | |
11 | ||
12 | public plugin_init() { | |
13 | register_plugin("WAMod", "0.1-indev", "Fedcomp") | |
14 | ||
15 | get_configsdir(HTML_PATH, charsmax(HTML_PATH)) | |
16 | format(HTML_PATH, charsmax(HTML_PATH), "%s/wamod/wamod.html", HTML_PATH) | |
17 | ||
18 | server_print("%s", HTML_PATH) | |
19 | ||
20 | init_my_socket() | |
21 | } | |
22 | ||
23 | public plugin_end () | |
24 | { | |
25 | socket_close(g_ListeningSocket) | |
26 | } | |
27 | ||
28 | // ======== UTILS ============ // | |
29 | ||
30 | // Получаем порт | |
31 | get_port(){ | |
32 | return get_cvar_num("port") | |
33 | } | |
34 | ||
35 | // ======= </UTILS> ========== // | |
36 | ||
37 | ||
38 | // Создаем сокет на прослушку. Отсылаем телефонные переговоры в США | |
39 | init_my_socket() { | |
40 | new error //you're the error | |
41 | g_ListeningSocket = socket_listen("0.0.0.0", get_port(),SOCKET_TCP,error) | |
42 | socket_unblock(g_ListeningSocket) | |
43 | server_print("%s LISTENNING ANY IP ON PORT %d", PREFIX, get_port()) | |
44 | ||
45 | // Делаем таймер на прослушку телефонных переговоров. Т.е таймер который раз в заданное время будет проверять на новые соединения | |
46 | set_task(0.1,"incoming_connection",0,"",0,"b") | |
47 | } | |
48 | ||
49 | public incoming_connection() { | |
50 | new incoming; | |
51 | ||
52 | if((incoming = socket_accept(g_ListeningSocket)) > 0) | |
53 | { | |
54 | new html_reply[WAMOD_FILESIZE] | |
55 | ||
56 | server_print("Connection try") | |
57 | ||
58 | format(html_reply, charsmax(html_reply), "Something to send") | |
59 | socket_send(incoming, html_reply, strlen(html_reply)) | |
60 | server_print("%s STRLEN: %d", PREFIX, strlen(html_reply)) | |
61 | socket_close(incoming) | |
62 | } | |
63 | ||
64 | } |