From 591aacee97f4a6486631c38a6b418e20b2c4109c Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期四, 10 九月 2020 14:56:47 +0800
Subject: [PATCH] update

---
 test/nng/pubsub.c |   53 ++++++++++++++++++++++++++++-------------------------
 1 files changed, 28 insertions(+), 25 deletions(-)

diff --git a/test/nng/pubsub.c b/test/nng/pubsub.c
index a8f2702..c45476b 100644
--- a/test/nng/pubsub.c
+++ b/test/nng/pubsub.c
@@ -4,16 +4,17 @@
 #include <time.h>
 #include <unistd.h>
 
-#include <nanomsg/nn.h>
-#include <nanomsg/pubsub.h>
+#include <nng/nng.h>
+#include <nng/protocol/pubsub0/pub.h>
+#include <nng/protocol/pubsub0/sub.h>
 
 #define SERVER "server"
 #define CLIENT "client"
 
 void
-fatal(const char *func)
+fatal(const char *func, int rv)
 {
-        fprintf(stderr, "%s: %s\n", func, nn_strerror(nn_errno()));
+        fprintf(stderr, "%s: %s\n", func, nng_strerror(rv));
 }
 
 char *
@@ -29,21 +30,22 @@
 int
 server(const char *url)
 {
-        int sock;
+        nng_socket sock;
+        int rv;
+        char buf[1024];
 
-        if ((sock = nn_socket(AF_SP, NN_PUB)) < 0) {
-                fatal("nn_socket");
+        if ((rv = nng_pub0_open(&sock)) != 0) {
+                fatal("nng_pub0_open", rv);
         }
-          if (nn_bind(sock, url) < 0) {
-                fatal("nn_bind");
+        if ((rv = nng_listen(sock, url, NULL, 0)) < 0) {
+                fatal("nng_listen", rv);
         }
         for (;;) {
                 char *d = date();
-                int sz_d = strlen(d) + 1; // '\0' too
+                snprintf(buf, 1024, "time:%s", d);
                 printf("SERVER: PUBLISHING DATE %s\n", d);
-                int bytes = nn_send(sock, d, sz_d, 0);
-                if (bytes < 0) {
-                        fatal("nn_send");
+                if ((rv = nng_send(sock, buf, strlen(buf) + 1, 0)) != 0) {
+                        fatal("nng_send", rv);
                 }
                 sleep(1);
         }
@@ -52,27 +54,28 @@
 int
 client(const char *url, const char *name)
 {
-        int sock;
+        nng_socket sock;
+        int rv;
 
-        if ((sock = nn_socket(AF_SP, NN_SUB)) < 0) {
-                fatal("nn_socket");
+        if ((rv = nng_sub0_open(&sock)) != 0) {
+                fatal("nng_sub0_open", rv);
         }
 
-        // subscribe to everything ("" means all topics)
-        if (nn_setsockopt(sock, NN_SUB, NN_SUB_SUBSCRIBE, "", 0) < 0) {
-                fatal("nn_setsockopt");
+        // subscribe to everything (empty means all topics)
+        if ((rv = nng_setopt(sock, NNG_OPT_SUB_SUBSCRIBE, "nnnnnnnnn", 0)) != 0) {
+                fatal("nng_setopt", rv);
         }
-        if (nn_connect(sock, url) < 0) {
-                fatal("nn_connet");
+        if ((rv = nng_dial(sock, url, NULL, 0)) != 0) {
+                fatal("nng_dial", rv);
         }
         for (;;) {
                 char *buf = NULL;
-                int bytes = nn_recv(sock, &buf, NN_MSG, 0);
-                if (bytes < 0) {
-                        fatal("nn_recv");
+                size_t sz;
+                if ((rv = nng_recv(sock, &buf, &sz, NNG_FLAG_ALLOC)) != 0) {
+                        fatal("nng_recv", rv);
                 }
                 printf("CLIENT (%s): RECEIVED %s\n", name, buf); 
-                nn_freemsg(buf);
+                nng_free(buf, sz);
         }
 }
 

--
Gitblit v1.8.0