๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
MQTT ๋ก local ์์ pub & sub ๊ตฌํํ๊ธฐ ๋ณธ๋ฌธ
๐ฉ๐ป IoT (Embedded)/Protocol
MQTT ๋ก local ์์ pub & sub ๊ตฌํํ๊ธฐ
์ง์ง์ํ์นด 2023. 12. 7. 11:34728x90
๋ฐ์ํ
โญ pub.c
// pub.c
#include <stdio.h>
#include <mosquitto.h>
int main(){
int rc;
struct mosquitto * mosq;
mosquitto_lib_init();
mosq = mosquitto_new("publisher-test", true, NULL); //mosquitto ๊ตฌ์กฐ์ฒด ์์ฑ
rc = mosquitto_connect(mosq, "localhost", 1883, 60);//mosqutiio ๋ธ๋ก์ปค์ ์ฐ๊ฒฐ
if(rc != 0){
printf("Client could not connect to broker! Error Code: %d\n", rc);
mosquitto_destroy(mosq);
return -1;
}
printf("We are now connected to the broker!\n");
mosquitto_publish(mosq, NULL, "test/t1", 6, "Hello", 0, false); //ํ ํฝ
mosquitto_disconnect(mosq);
mosquitto_destroy(mosq);
mosquitto_lib_cleanup();
return 0;
}
โญ sub.c
// sub.c
#include <stdio.h>
#include <stdlib.h>
#include <mosquitto.h>
void on_connect(struct mosquitto *mosq, void *obj, int rc) {
printf("ID: %d\n", * (int *) obj);
if(rc) {
printf("Error with result code: %d\n", rc);
exit(-1);
}
mosquitto_subscribe(mosq, NULL, "test/t1", 0);
}
void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message *msg) {
printf("%s", (char *) msg->payload);
}
int main() {
int rc, id=12;
mosquitto_lib_init();
struct mosquitto *mosq;
mosq = mosquitto_new("subscribe-test", true, &id); //mosquitto ๊ตฌ์กฐ์ฒด ์์ฑ
mosquitto_connect_callback_set(mosq, on_connect);
mosquitto_message_callback_set(mosq, on_message);
rc = mosquitto_connect(mosq, "127.0.0.1", 1883, 10); // ๋ธ๋ก์ปค์ ์ฐ๊ฒฐ
if(rc) {
printf("Could not connect to Broker with return code %d\n", rc);
return -1;
}
mosquitto_loop_start(mosq);
printf("Press Enter to quit...\n");
getchar();
mosquitto_loop_stop(mosq, true);
mosquitto_disconnect(mosq);
mosquitto_destroy(mosq);
mosquitto_lib_cleanup();
return 0;
}
728x90
๋ฐ์ํ
'๐ฉโ๐ป IoT (Embedded) > Protocol' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Wireshark ๋ก ์ด๋๋ท ์ดํด๋ณด๊ธฐ (0) | 2023.11.10 |
---|---|
CISCO Packet Tracer Student ์ฌ์ฉํด๋ณด๊ธฐ (0) | 2023.10.27 |
[IoT Service Platform] Raspberry Pi IoT Server : InfluxDB, MQTT, Grafana, Node-RED & Docker (0) | 2023.06.19 |
[IoT Service Platform] IoT (Internet of Things) & matter (0) | 2023.06.18 |
Comments