for WIZwiki-W7500 board
Dependents: IBMIoTClientEthernetExample_WIZnet
Fork of MQTT by
MQTTSocket.h@49:66f37eda441b, 2015-09-17 (annotated)
- Committer:
- hkjung
- Date:
- Thu Sep 17 04:42:08 2015 +0000
- Revision:
- 49:66f37eda441b
- Parent:
- 45:d8c12dce71b9
Modified the netinfo allocation method
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
icraggs | 31:a51dd239b78e | 1 | #if !defined(MQTTSOCKET_H) |
icraggs | 31:a51dd239b78e | 2 | #define MQTTSOCKET_H |
icraggs | 31:a51dd239b78e | 3 | |
icraggs | 43:21da1f744243 | 4 | #include "MQTTmbed.h" |
icraggs | 31:a51dd239b78e | 5 | #include "TCPSocketConnection.h" |
hkjung | 45:d8c12dce71b9 | 6 | /* |
icraggs | 31:a51dd239b78e | 7 | class MQTTSocket |
icraggs | 31:a51dd239b78e | 8 | { |
icraggs | 31:a51dd239b78e | 9 | public: |
icraggs | 31:a51dd239b78e | 10 | int connect(char* hostname, int port, int timeout=1000) |
icraggs | 31:a51dd239b78e | 11 | { |
icraggs | 31:a51dd239b78e | 12 | mysock.set_blocking(false, timeout); // 1 second Timeout |
icraggs | 31:a51dd239b78e | 13 | return mysock.connect(hostname, port); |
icraggs | 31:a51dd239b78e | 14 | } |
icraggs | 31:a51dd239b78e | 15 | |
icraggs | 36:2f1ada427e56 | 16 | int read(unsigned char* buffer, int len, int timeout) |
icraggs | 31:a51dd239b78e | 17 | { |
icraggs | 31:a51dd239b78e | 18 | mysock.set_blocking(false, timeout); |
icraggs | 36:2f1ada427e56 | 19 | return mysock.receive((char*)buffer, len); |
icraggs | 31:a51dd239b78e | 20 | } |
icraggs | 31:a51dd239b78e | 21 | |
icraggs | 36:2f1ada427e56 | 22 | int write(unsigned char* buffer, int len, int timeout) |
icraggs | 31:a51dd239b78e | 23 | { |
icraggs | 31:a51dd239b78e | 24 | mysock.set_blocking(false, timeout); |
icraggs | 36:2f1ada427e56 | 25 | return mysock.send((char*)buffer, len); |
icraggs | 31:a51dd239b78e | 26 | } |
icraggs | 31:a51dd239b78e | 27 | |
icraggs | 31:a51dd239b78e | 28 | int disconnect() |
icraggs | 31:a51dd239b78e | 29 | { |
icraggs | 31:a51dd239b78e | 30 | return mysock.close(); |
icraggs | 31:a51dd239b78e | 31 | } |
icraggs | 31:a51dd239b78e | 32 | |
icraggs | 31:a51dd239b78e | 33 | private: |
icraggs | 31:a51dd239b78e | 34 | |
icraggs | 31:a51dd239b78e | 35 | TCPSocketConnection mysock; |
icraggs | 31:a51dd239b78e | 36 | |
icraggs | 31:a51dd239b78e | 37 | }; |
hkjung | 45:d8c12dce71b9 | 38 | */ |
icraggs | 31:a51dd239b78e | 39 | |
hkjung | 45:d8c12dce71b9 | 40 | class MQTTSocket |
hkjung | 45:d8c12dce71b9 | 41 | { |
hkjung | 45:d8c12dce71b9 | 42 | public: |
hkjung | 45:d8c12dce71b9 | 43 | ~MQTTSocket() |
hkjung | 45:d8c12dce71b9 | 44 | { |
hkjung | 45:d8c12dce71b9 | 45 | if(mysock) |
hkjung | 45:d8c12dce71b9 | 46 | delete mysock; |
hkjung | 45:d8c12dce71b9 | 47 | } |
hkjung | 45:d8c12dce71b9 | 48 | |
hkjung | 45:d8c12dce71b9 | 49 | int connect(char* hostname, int port, int timeout=1000) |
hkjung | 45:d8c12dce71b9 | 50 | { |
hkjung | 45:d8c12dce71b9 | 51 | mysock->set_blocking(false, timeout); // 1 second Timeout |
hkjung | 45:d8c12dce71b9 | 52 | return mysock->connect(hostname, port); |
hkjung | 45:d8c12dce71b9 | 53 | } |
hkjung | 45:d8c12dce71b9 | 54 | |
hkjung | 45:d8c12dce71b9 | 55 | int read(unsigned char* buffer, int len, int timeout) |
hkjung | 45:d8c12dce71b9 | 56 | { |
hkjung | 45:d8c12dce71b9 | 57 | mysock->set_blocking(false, timeout); |
hkjung | 45:d8c12dce71b9 | 58 | return mysock->receive((char*)buffer, len); |
hkjung | 45:d8c12dce71b9 | 59 | } |
hkjung | 45:d8c12dce71b9 | 60 | |
hkjung | 45:d8c12dce71b9 | 61 | int write(unsigned char* buffer, int len, int timeout) |
hkjung | 45:d8c12dce71b9 | 62 | { |
hkjung | 45:d8c12dce71b9 | 63 | mysock->set_blocking(false, timeout); |
hkjung | 45:d8c12dce71b9 | 64 | return mysock->send((char*)buffer, len); |
hkjung | 45:d8c12dce71b9 | 65 | } |
hkjung | 45:d8c12dce71b9 | 66 | |
hkjung | 45:d8c12dce71b9 | 67 | int disconnect() |
hkjung | 45:d8c12dce71b9 | 68 | { |
hkjung | 45:d8c12dce71b9 | 69 | return mysock->close(); |
hkjung | 45:d8c12dce71b9 | 70 | } |
hkjung | 45:d8c12dce71b9 | 71 | |
hkjung | 45:d8c12dce71b9 | 72 | protected: |
hkjung | 45:d8c12dce71b9 | 73 | void createSocket() { mysock = new TCPSocketConnection(); } |
hkjung | 45:d8c12dce71b9 | 74 | private: |
hkjung | 45:d8c12dce71b9 | 75 | |
hkjung | 45:d8c12dce71b9 | 76 | TCPSocketConnection *mysock; |
hkjung | 45:d8c12dce71b9 | 77 | |
hkjung | 45:d8c12dce71b9 | 78 | }; |
icraggs | 31:a51dd239b78e | 79 | |
icraggs | 31:a51dd239b78e | 80 | |
icraggs | 31:a51dd239b78e | 81 | #endif |