@@ -124,73 +124,80 @@ void WebSocketsServer::onEvent(WebSocketServerEvent cbEvent) {
124
124
* @param payload uint8_t *
125
125
* @param length size_t
126
126
* @param headerToPayload bool (see sendFrame for more details)
127
+ * @return true if ok
127
128
*/
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) {
129
130
if (num >= WEBSOCKETS_SERVER_CLIENT_MAX) {
130
- return ;
131
+ return false ;
131
132
}
132
133
if (length == 0 ) {
133
134
length = strlen ((const char *) payload);
134
135
}
135
136
WSclient_t * client = &_clients[num];
136
137
if (clientIsConnected (client)) {
137
- sendFrame (client, WSop_text, payload, length, false , true , headerToPayload);
138
+ return sendFrame (client, WSop_text, payload, length, false , true , headerToPayload);
138
139
}
140
+ return false ;
139
141
}
140
142
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);
143
145
}
144
146
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);
147
149
}
148
150
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);
151
153
}
152
154
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 ());
155
157
}
156
158
157
159
/* *
158
160
* send text data to client all
159
161
* @param payload uint8_t *
160
162
* @param length size_t
161
163
* @param headerToPayload bool (see sendFrame for more details)
164
+ * @return true if ok
162
165
*/
163
- void WebSocketsServer::broadcastTXT (uint8_t * payload, size_t length, bool headerToPayload) {
166
+ bool WebSocketsServer::broadcastTXT (uint8_t * payload, size_t length, bool headerToPayload) {
164
167
WSclient_t * client;
168
+ bool ret = true ;
165
169
if (length == 0 ) {
166
170
length = strlen ((const char *) payload);
167
171
}
168
172
169
173
for (uint8_t i = 0 ; i < WEBSOCKETS_SERVER_CLIENT_MAX; i++) {
170
174
client = &_clients[i];
171
175
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
+ }
173
179
}
174
180
#if (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266)
175
181
delay (0 );
176
182
#endif
177
183
}
184
+ return ret;
178
185
}
179
186
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);
182
189
}
183
190
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);
186
193
}
187
194
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);
190
197
}
191
198
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 ());
194
201
}
195
202
196
203
/* *
@@ -199,42 +206,49 @@ void WebSocketsServer::broadcastTXT(String & payload) {
199
206
* @param payload uint8_t *
200
207
* @param length size_t
201
208
* @param headerToPayload bool (see sendFrame for more details)
209
+ * @return true if ok
202
210
*/
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) {
204
212
if (num >= WEBSOCKETS_SERVER_CLIENT_MAX) {
205
- return ;
213
+ return false ;
206
214
}
207
215
WSclient_t * client = &_clients[num];
208
216
if (clientIsConnected (client)) {
209
- sendFrame (client, WSop_binary, payload, length, false , true , headerToPayload);
217
+ return sendFrame (client, WSop_binary, payload, length, false , true , headerToPayload);
210
218
}
219
+ return false ;
211
220
}
212
221
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);
215
224
}
216
225
217
226
/* *
218
227
* send binary data to client all
219
228
* @param payload uint8_t *
220
229
* @param length size_t
221
230
* @param headerToPayload bool (see sendFrame for more details)
231
+ * @return true if ok
222
232
*/
223
- void WebSocketsServer::broadcastBIN (uint8_t * payload, size_t length, bool headerToPayload) {
233
+ bool WebSocketsServer::broadcastBIN (uint8_t * payload, size_t length, bool headerToPayload) {
224
234
WSclient_t * client;
235
+ bool ret = true ;
225
236
for (uint8_t i = 0 ; i < WEBSOCKETS_SERVER_CLIENT_MAX; i++) {
226
237
client = &_clients[i];
227
238
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
+ }
229
242
}
230
243
#if (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266)
231
244
delay (0 );
232
245
#endif
233
246
}
247
+ return ret;
234
248
}
235
249
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);
238
252
}
239
253
240
254
/* *
0 commit comments