Sming Framework API
Sming - Open Source framework for high efficiency WiFi SoC ESP8266 native development with C++ language.
WebsocketClient Class Reference

Delegate callback type for connection of websocket client. More...

#include <WebsocketClient.h>

Inheritance diagram for WebsocketClient:
TcpClient TcpConnection

Public Member Functions

 WebsocketClient (bool autoDestruct=false)
 
void setWebSocketMessageHandler (WebSocketClientMessageDelegate handler)
 
void setWebSocketDisconnectedHandler (WebSocketClientDisconnectDelegate handler)
 Set handler for websocket text messages. More...
 
void setWebSocketConnectedHandler (WebSocketClientConnectedDelegate handler)
 Set handler for websocket disconnection event. More...
 
void setWebSocketBinaryHandler (WebSocketClientBinaryDelegate handler)
 Set handler for websocket connection event. More...
 
bool connect (String url, uint32_t sslOptions=0)
 Set handler for websocket binary messages. More...
 
void sendPing ()
 Connects websocket client to server. More...
 
void sendPong ()
 Send websocket ping to server. More...
 
void disconnect ()
 Send websocket ping to server. More...
 
void sendMessage (char *msg, uint16_t length)
 Disconnects websocket client from server. More...
 
void sendMessage (String str)
 Send text message to websocket server. More...
 
void sendBinary (uint8_t *msg, uint16_t length)
 Send text message to websocket server. More...
 
wsMode getWSMode ()
 Send binary message to websocket server. More...
 

Protected Member Functions

virtual void onFinished (TcpClientState finishState)
 Get websocket client mode. More...
 
virtual void onError (err_t err)
 
virtual err_t onReceive (pbuf *buf)
 
bool _verifyKey (char *buf, int size)
 
void _sendFrame (WSFrameType frameType, uint8_t *msg, uint16_t length)
 
virtual bool connect (String server, int port, boolean useSsl=false, uint32_t sslOptions=0)
 
virtual bool connect (IPAddress addr, uint16_t port, boolean useSsl=false, uint32_t sslOptions=0)
 
virtual bool connect (String server, int port, bool useSsl=false, uint32_t sslOptions=0)
 
virtual bool connect (IPAddress addr, uint16_t port, bool useSsl=false, uint32_t sslOptions=0)
 
virtual void close ()
 
void setReceiveDelegate (TcpClientDataDelegate receiveCb=NULL)
 Set or clear the callback for received data. More...
 
void setCompleteDelegate (TcpClientCompleteDelegate completeCb=NULL)
 Set or clear the callback for connection close. More...
 
bool send (const char *data, uint16_t len, bool forceCloseAfterSent=false)
 
bool sendString (String data, bool forceCloseAfterSent=false)
 
__forceinline bool isProcessing ()
 
__forceinline TcpClientState getConnectionState ()
 
virtual err_t onConnected (err_t err)
 
virtual err_t onSent (uint16_t len)
 
virtual void onReadyToSendData (TcpConnectionEvent sourceEvent)
 
void pushAsyncPart ()
 
int writeString (const char *data, uint8_t apiflags=TCP_WRITE_FLAG_COPY)
 
int writeString (const String data, uint8_t apiflags=TCP_WRITE_FLAG_COPY)
 
virtual int write (const char *data, int len, uint8_t apiflags=TCP_WRITE_FLAG_COPY)
 
int write (IDataSourceStream *stream)
 
__forceinline uint16_t getAvailableWriteSize ()
 
void flush ()
 
void setTimeOut (uint16_t waitTimeOut)
 
IPAddress getRemoteIp ()
 
uint16_t getRemotePort ()
 
bool internalTcpConnect (IPAddress addr, uint16_t port)
 
virtual err_t onPoll ()
 
void initialize (tcp_pcb *pcb)
 

Static Protected Member Functions

static err_t staticOnConnected (void *arg, tcp_pcb *tcp, err_t err)
 
static err_t staticOnReceive (void *arg, tcp_pcb *tcp, pbuf *p, err_t err)
 
static err_t staticOnSent (void *arg, tcp_pcb *tcp, uint16_t len)
 
static err_t staticOnPoll (void *arg, tcp_pcb *tcp)
 
static void staticOnError (void *arg, err_t err)
 
static void staticDnsResponse (const char *name, ip_addr_t *ipaddr, void *arg)
 
static void closeTcpConnection (tcp_pcb *tpcb)
 

Protected Attributes

tcp_pcb * tcp = NULL
 
uint16_t sleep
 
uint16_t timeOut
 
bool canSend
 
bool autoSelfDestruct
 
bool useSsl = false
 

Detailed Description

Delegate callback type for connection of websocket client.

Websocket Client

Member Function Documentation

void TcpClient::setCompleteDelegate ( TcpClientCompleteDelegate  completeCb = NULL)
inherited

Set or clear the callback for connection close.

Parameters
completeCbcallback delegate or NULL
void TcpClient::setReceiveDelegate ( TcpClientDataDelegate  receiveCb = NULL)
inherited

Set or clear the callback for received data.

Parameters
receiveCbcallback delegate or NULL