@@ -40,12 +40,13 @@ bool SocketIOclient::isConnected(void) {
40
40
/* *
41
41
* send text data to client
42
42
* @param num uint8_t client id
43
+ * @param type socketIOmessageType_t
43
44
* @param payload uint8_t *
44
45
* @param length size_t
45
- * @param headerToPayload bool (see sendFrame for more details)
46
+ * @param headerToPayload bool (see sendFrame for more details)
46
47
* @return true if ok
47
48
*/
48
- bool SocketIOclient::sendEVENT ( uint8_t * payload, size_t length, bool headerToPayload) {
49
+ bool SocketIOclient::send (socketIOmessageType_t type, uint8_t * payload, size_t length, bool headerToPayload) {
49
50
bool ret = false ;
50
51
if (length == 0 ) {
51
52
length = strlen ((const char *)payload);
@@ -56,7 +57,7 @@ bool SocketIOclient::sendEVENT(uint8_t * payload, size_t length, bool headerToPa
56
57
ret = WebSocketsClient::sendFrameHeader (&_client, WSop_text, length + 2 , true );
57
58
// Engine.IO / Socket.IO Header
58
59
if (ret) {
59
- uint8_t buf[3 ] = { eIOtype_MESSAGE, sIOtype_EVENT , 0x00 };
60
+ uint8_t buf[3 ] = { eIOtype_MESSAGE, type , 0x00 };
60
61
ret = WebSocketsClient::write (&_client, buf, 2 );
61
62
}
62
63
if (ret && payload && length > 0 ) {
@@ -66,12 +67,38 @@ bool SocketIOclient::sendEVENT(uint8_t * payload, size_t length, bool headerToPa
66
67
} else {
67
68
// TODO implement
68
69
}
69
-
70
- // return WebSocketsClient::sendFrame(&_client, WSop_text, payload, length, true, true, headerToPayload);
71
70
}
72
71
return false ;
73
72
}
74
73
74
+ bool SocketIOclient::send (socketIOmessageType_t type, const uint8_t * payload, size_t length) {
75
+ return send (type, (uint8_t *)payload, length);
76
+ }
77
+
78
+ bool SocketIOclient::send (socketIOmessageType_t type, char * payload, size_t length, bool headerToPayload) {
79
+ return send (type, (uint8_t *)payload, length, headerToPayload);
80
+ }
81
+
82
+ bool SocketIOclient::send (socketIOmessageType_t type, const char * payload, size_t length) {
83
+ return send (type, (uint8_t *)payload, length);
84
+ }
85
+
86
+ bool SocketIOclient::send (socketIOmessageType_t type, String & payload) {
87
+ return send (type, (uint8_t *)payload.c_str (), payload.length ());
88
+ }
89
+
90
+ /* *
91
+ * send text data to client
92
+ * @param num uint8_t client id
93
+ * @param payload uint8_t *
94
+ * @param length size_t
95
+ * @param headerToPayload bool (see sendFrame for more details)
96
+ * @return true if ok
97
+ */
98
+ bool SocketIOclient::sendEVENT (uint8_t * payload, size_t length, bool headerToPayload) {
99
+ return send (sIOtype_EVENT , payload, length, headerToPayload);
100
+ }
101
+
75
102
bool SocketIOclient::sendEVENT (const uint8_t * payload, size_t length) {
76
103
return sendEVENT ((uint8_t *)payload, length);
77
104
}
0 commit comments