Commit Iniziale, progetto funzionante caricato su box ETcontroller in
cantina
This commit is contained in:
50
MQTT/MQTTSocket.h
Normal file
50
MQTT/MQTTSocket.h
Normal file
@@ -0,0 +1,50 @@
|
||||
#if !defined(MQTTSOCKET_H)
|
||||
#define MQTTSOCKET_H
|
||||
|
||||
#include "MQTT_mbed.h"
|
||||
#include "TCPSocketConnection.h"
|
||||
|
||||
class MQTTSocket
|
||||
{
|
||||
public:
|
||||
~MQTTSocket()
|
||||
{
|
||||
if(mysock)
|
||||
delete mysock;
|
||||
}
|
||||
|
||||
int connect(char* hostname, int port, int timeout=1000)
|
||||
{
|
||||
mysock->set_blocking(false, timeout); // 1 second Timeout
|
||||
return mysock->connect(hostname, port);
|
||||
}
|
||||
|
||||
int read(unsigned char* buffer, int len, int timeout)
|
||||
{
|
||||
mysock->set_blocking(false, timeout);
|
||||
return mysock->receive((char*)buffer, len);
|
||||
}
|
||||
|
||||
int write(unsigned char* buffer, int len, int timeout)
|
||||
{
|
||||
mysock->set_blocking(false, timeout);
|
||||
return mysock->send((char*)buffer, len);
|
||||
}
|
||||
|
||||
int disconnect()
|
||||
{
|
||||
return mysock->close();
|
||||
}
|
||||
|
||||
protected:
|
||||
void createSocket() { mysock = new TCPSocketConnection(); }
|
||||
|
||||
private:
|
||||
|
||||
TCPSocketConnection *mysock;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user