@@ -40,12 +40,13 @@ bool SocketIOclient::isConnected(void) {
4040/* *
4141 * send text data to client
4242 * @param num uint8_t client id
43+ * @param type socketIOmessageType_t
4344 * @param payload uint8_t *
4445 * @param length size_t
45- * @param headerToPayload bool (see sendFrame for more details)
46+ * @param headerToPayload bool (see sendFrame for more details)
4647 * @return true if ok
4748 */
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) {
4950 bool ret = false ;
5051 if (length == 0 ) {
5152 length = strlen ((const char *)payload);
@@ -56,7 +57,7 @@ bool SocketIOclient::sendEVENT(uint8_t * payload, size_t length, bool headerToPa
5657 ret = WebSocketsClient::sendFrameHeader (&_client, WSop_text, length + 2 , true );
5758 // Engine.IO / Socket.IO Header
5859 if (ret) {
59- uint8_t buf[3 ] = { eIOtype_MESSAGE, sIOtype_EVENT , 0x00 };
60+ uint8_t buf[3 ] = { eIOtype_MESSAGE, type , 0x00 };
6061 ret = WebSocketsClient::write (&_client, buf, 2 );
6162 }
6263 if (ret && payload && length > 0 ) {
@@ -66,12 +67,38 @@ bool SocketIOclient::sendEVENT(uint8_t * payload, size_t length, bool headerToPa
6667 } else {
6768 // TODO implement
6869 }
69-
70- // return WebSocketsClient::sendFrame(&_client, WSop_text, payload, length, true, true, headerToPayload);
7170 }
7271 return false ;
7372}
7473
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+
75102bool SocketIOclient::sendEVENT (const uint8_t * payload, size_t length) {
76103 return sendEVENT ((uint8_t *)payload, length);
77104}
0 commit comments