@@ -124,73 +124,80 @@ void WebSocketsServer::onEvent(WebSocketServerEvent cbEvent) {
124124 * @param payload uint8_t *
125125 * @param length size_t
126126 * @param headerToPayload bool (see sendFrame for more details)
127+ * @return true if ok
127128 */
128- void WebSocketsServer::sendTXT (uint8_t num, uint8_t * payload, size_t length, bool headerToPayload) {
129+ bool WebSocketsServer::sendTXT (uint8_t num, uint8_t * payload, size_t length, bool headerToPayload) {
129130 if (num >= WEBSOCKETS_SERVER_CLIENT_MAX) {
130- return ;
131+ return false ;
131132 }
132133 if (length == 0 ) {
133134 length = strlen ((const char *) payload);
134135 }
135136 WSclient_t * client = &_clients[num];
136137 if (clientIsConnected (client)) {
137- sendFrame (client, WSop_text, payload, length, false , true , headerToPayload);
138+ return sendFrame (client, WSop_text, payload, length, false , true , headerToPayload);
138139 }
140+ return false ;
139141}
140142
141- void WebSocketsServer::sendTXT (uint8_t num, const uint8_t * payload, size_t length) {
142- sendTXT (num, (uint8_t *) payload, length);
143+ bool WebSocketsServer::sendTXT (uint8_t num, const uint8_t * payload, size_t length) {
144+ return sendTXT (num, (uint8_t *) payload, length);
143145}
144146
145- void WebSocketsServer::sendTXT (uint8_t num, char * payload, size_t length, bool headerToPayload) {
146- sendTXT (num, (uint8_t *) payload, length, headerToPayload);
147+ bool WebSocketsServer::sendTXT (uint8_t num, char * payload, size_t length, bool headerToPayload) {
148+ return sendTXT (num, (uint8_t *) payload, length, headerToPayload);
147149}
148150
149- void WebSocketsServer::sendTXT (uint8_t num, const char * payload, size_t length) {
150- sendTXT (num, (uint8_t *) payload, length);
151+ bool WebSocketsServer::sendTXT (uint8_t num, const char * payload, size_t length) {
152+ return sendTXT (num, (uint8_t *) payload, length);
151153}
152154
153- void WebSocketsServer::sendTXT (uint8_t num, String & payload) {
154- sendTXT (num, (uint8_t *) payload.c_str (), payload.length ());
155+ bool WebSocketsServer::sendTXT (uint8_t num, String & payload) {
156+ return sendTXT (num, (uint8_t *) payload.c_str (), payload.length ());
155157}
156158
157159/* *
158160 * send text data to client all
159161 * @param payload uint8_t *
160162 * @param length size_t
161163 * @param headerToPayload bool (see sendFrame for more details)
164+ * @return true if ok
162165 */
163- void WebSocketsServer::broadcastTXT (uint8_t * payload, size_t length, bool headerToPayload) {
166+ bool WebSocketsServer::broadcastTXT (uint8_t * payload, size_t length, bool headerToPayload) {
164167 WSclient_t * client;
168+ bool ret = true ;
165169 if (length == 0 ) {
166170 length = strlen ((const char *) payload);
167171 }
168172
169173 for (uint8_t i = 0 ; i < WEBSOCKETS_SERVER_CLIENT_MAX; i++) {
170174 client = &_clients[i];
171175 if (clientIsConnected (client)) {
172- sendFrame (client, WSop_text, payload, length, false , true , headerToPayload);
176+ if (!sendFrame (client, WSop_text, payload, length, false , true , headerToPayload)) {
177+ ret = false ;
178+ }
173179 }
174180#if (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266)
175181 delay (0 );
176182#endif
177183 }
184+ return ret;
178185}
179186
180- void WebSocketsServer::broadcastTXT (const uint8_t * payload, size_t length) {
181- broadcastTXT ((uint8_t *) payload, length);
187+ bool WebSocketsServer::broadcastTXT (const uint8_t * payload, size_t length) {
188+ return broadcastTXT ((uint8_t *) payload, length);
182189}
183190
184- void WebSocketsServer::broadcastTXT (char * payload, size_t length, bool headerToPayload) {
185- broadcastTXT ((uint8_t *) payload, length, headerToPayload);
191+ bool WebSocketsServer::broadcastTXT (char * payload, size_t length, bool headerToPayload) {
192+ return broadcastTXT ((uint8_t *) payload, length, headerToPayload);
186193}
187194
188- void WebSocketsServer::broadcastTXT (const char * payload, size_t length) {
189- broadcastTXT ((uint8_t *) payload, length);
195+ bool WebSocketsServer::broadcastTXT (const char * payload, size_t length) {
196+ return broadcastTXT ((uint8_t *) payload, length);
190197}
191198
192- void WebSocketsServer::broadcastTXT (String & payload) {
193- broadcastTXT ((uint8_t *) payload.c_str (), payload.length ());
199+ bool WebSocketsServer::broadcastTXT (String & payload) {
200+ return broadcastTXT ((uint8_t *) payload.c_str (), payload.length ());
194201}
195202
196203/* *
@@ -199,42 +206,49 @@ void WebSocketsServer::broadcastTXT(String & payload) {
199206 * @param payload uint8_t *
200207 * @param length size_t
201208 * @param headerToPayload bool (see sendFrame for more details)
209+ * @return true if ok
202210 */
203- void WebSocketsServer::sendBIN (uint8_t num, uint8_t * payload, size_t length, bool headerToPayload) {
211+ bool WebSocketsServer::sendBIN (uint8_t num, uint8_t * payload, size_t length, bool headerToPayload) {
204212 if (num >= WEBSOCKETS_SERVER_CLIENT_MAX) {
205- return ;
213+ return false ;
206214 }
207215 WSclient_t * client = &_clients[num];
208216 if (clientIsConnected (client)) {
209- sendFrame (client, WSop_binary, payload, length, false , true , headerToPayload);
217+ return sendFrame (client, WSop_binary, payload, length, false , true , headerToPayload);
210218 }
219+ return false ;
211220}
212221
213- void WebSocketsServer::sendBIN (uint8_t num, const uint8_t * payload, size_t length) {
214- sendBIN (num, (uint8_t *) payload, length);
222+ bool WebSocketsServer::sendBIN (uint8_t num, const uint8_t * payload, size_t length) {
223+ return sendBIN (num, (uint8_t *) payload, length);
215224}
216225
217226/* *
218227 * send binary data to client all
219228 * @param payload uint8_t *
220229 * @param length size_t
221230 * @param headerToPayload bool (see sendFrame for more details)
231+ * @return true if ok
222232 */
223- void WebSocketsServer::broadcastBIN (uint8_t * payload, size_t length, bool headerToPayload) {
233+ bool WebSocketsServer::broadcastBIN (uint8_t * payload, size_t length, bool headerToPayload) {
224234 WSclient_t * client;
235+ bool ret = true ;
225236 for (uint8_t i = 0 ; i < WEBSOCKETS_SERVER_CLIENT_MAX; i++) {
226237 client = &_clients[i];
227238 if (clientIsConnected (client)) {
228- sendFrame (client, WSop_binary, payload, length, false , true , headerToPayload);
239+ if (!sendFrame (client, WSop_binary, payload, length, false , true , headerToPayload)) {
240+ ret = false ;
241+ }
229242 }
230243#if (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266)
231244 delay (0 );
232245#endif
233246 }
247+ return ret;
234248}
235249
236- void WebSocketsServer::broadcastBIN (const uint8_t * payload, size_t length) {
237- broadcastBIN ((uint8_t *) payload, length);
250+ bool WebSocketsServer::broadcastBIN (const uint8_t * payload, size_t length) {
251+ return broadcastBIN ((uint8_t *) payload, length);
238252}
239253
240254/* *
0 commit comments