Merge pull request #5 from mcollina/dns

Added DNS support.
This commit is contained in:
Nicholas O'Leary 2012-01-28 13:22:16 -08:00
commit 6f0db7db0f
2 changed files with 22 additions and 3 deletions

View File

@ -5,8 +5,8 @@
*/
#include "PubSubClient.h"
#include "EthernetClient.h"
#include "string.h"
#include <EthernetClient.h>
#include <string.h>
PubSubClient::PubSubClient() : _client() {
}
@ -16,13 +16,30 @@ PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, void (*callback)(char*,ui
this->ip = ip;
this->port = port;
}
PubSubClient::PubSubClient(String domain, uint16_t port, void (*callback)(char*,uint8_t*,int)) : _client() {
this->callback = callback;
this->domain = domain;
this->port = port;
}
int PubSubClient::connect(char *id) {
return connect(id,0,0,0,0);
}
int PubSubClient::connect(char *id, char* willTopic, uint8_t willQos, uint8_t willRetain, char* willMessage) {
if (!connected()) {
if (_client.connect(this->ip, this->port)) {
int result = 0;
if (domain != NULL) {
char c[40];
this->domain.toCharArray(c, 40);
result = _client.connect(c, this->port);
} else {
result = _client.connect(this->ip, this->port);
}
if (result) {
nextMsgId = 1;
uint8_t d[9] = {0x00,0x06,'M','Q','I','s','d','p',MQTTPROTOCOLVERSION};
uint8_t length = 0;

View File

@ -45,10 +45,12 @@ private:
int write(uint8_t header, uint8_t* buf, uint8_t length);
uint8_t writeString(char* string, uint8_t* buf, uint8_t pos);
uint8_t *ip;
String domain;
uint16_t port;
public:
PubSubClient();
PubSubClient(uint8_t *, uint16_t, void(*)(char*,uint8_t*,int));
PubSubClient(String, uint16_t, void(*)(char*,uint8_t*,int));
int connect(char *);
int connect(char*, char*, uint8_t, uint8_t, char*);
void disconnect();