librws.h
с публичными методамиpod 'librws'
// Определение переменной или поля для хэндла сокета
rws_socket _socket = NULL;
. . . . . . . . . . . .
// Создание объекта сокета
_socket = rws_socket_create();
// Объединённый URL: "ws://echo.websocket.org:80/"
rws_socket_set_scheme(_socket, "ws");
rws_socket_set_host(_socket, "echo.websocket.org");
rws_socket_set_port(_socket, 80);
rws_socket_set_path(_socket, "/");
Предупреждение: rws_socket_set_on_disconnected
обязательно
// Основные callback-функции
// callback, вызываемый при отключении сокета с/без ошибки
static void on_socket_disconnected(rws_socket socket) {
// обработка ошибки
rws_error error = rws_socket_get_error(socket);
if (error) {
printf("\nSocket disconnect with code, error: %i, %s", rws_error_get_code(error), rws_error_get_description(error));
}
// забываем об этом объекте сокета, из-за последующего отключения
_socket = NULL;
}
// callback, вызываемый при подключении сокета и завершении рукопожатия
static void on_socket_connected(rws_socket socket) {
printf("\nSocket connected");
}
// callback, вызываемый при получении текста сокетом
static void on_socket_received_text(rws_socket socket, const char * text, const unsigned int length) {
printf("\nSocket text: %s", text);
}
. . . . . . . . . . . . . . . . . .
// Установка callback-функций сокета
rws_socket_set_on_disconnected(_socket, &on_socket_disconnected); // обязательно
rws_socket_set_on_connected(_socket, &on_socket_connected);
rws_socket_set_on_received_text(_socket, &on_socket_received_text);
rws_socket_connect(_socket);
const char * example_text =
"{\"version\":\"1.";
```0\",\"supportedConnectionTypes\":[\"websocket\"],\"minimumVersion\":\"1.0\",\"channel\":\"/meta/handshake\"}";
rws_socket_send_text(_socket, example_text);
Так как сокет может быть подключен и нам нужно отправить сообщение об отключении, а не просто закрыть его, нужно подождать и затем удалить объект.
Поэтому просто вызываем rws_socket_disconnect_and_release
, это потокобезопасная функция, и забываем об этом объекте сокета.
rws_socket_disconnect_and_release(_socket);
_socket = NULL;
---------Лицензия MIT (MIT License)
Авторское право (c) 2014 - 2019 Oleh Kulykov info@resident.name
Данное соглашение разрешает бесплатно любому лицу, получившему копию этого программного обеспечения и связанных с ним документов («Программа»), работать с Программой без каких-либо ограничений, включая без ограничений, право использовать, копировать, изменять, объединять, публиковать, распространять, передавать по лицензии, продавать копии Программы, и разрешать лицам, которым Программа была предоставлена, делать то же самое, при условии соблюдения следующих условий:
Вышеуказанное уведомление об авторском праве и это уведомление о лицензии должны быть включены во все копии или значительные части Программы.
ПРОГРАМА ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОРГОВЛЕНИЯ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ И НЕНАРУШЕНИЯ ПРАВ. В НИКАКОМ СЛУЧАЕ АВТОРЫ И ДОЛЖНИКИ АВТОРСКОГО ПРАВА НЕ ДОЛЖНЫ БЫТЬ ОТВЕТСТВЕННЫМИ ЗА КАКИЕ-ЛИБО ПРЕТЕНДИРОВАНИЯ, УЩЕРБЫ ИЛИ ДРУГИЕ ОТВЕТСТВЕННОСТИ, В ТОМ ЧИСЛЕ В СВЯЗИ С ДЕЛОМ ОБ ОБЯЗАТЕЛЬСТВЕ, ДЕЛЕ ОБ УЩЕРБЕ ИЛИ ДРУГИХ ДЕЛАХ, ВОЗНИКШИХ ИЗ, В СВЯЗИ С ИЛИ В СВЯЗИ С ПРОГРАММОЙ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ ДЕЙСТВИЯМИ С ПРОГРАММОЙ.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )