您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ zstr_sendx函数代码示例

51自学网 2021-06-03 12:02:26
  C++
这篇教程C++ zstr_sendx函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中zstr_sendx函数的典型用法代码示例。如果您正苦于以下问题:C++ zstr_sendx函数的具体用法?C++ zstr_sendx怎么用?C++ zstr_sendx使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了zstr_sendx函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: zyre_set_zcert

void zyre_set_zcert(zyre_t *self, zcert_t *zcert){    assert (zcert);    // actor will assert check the keys    zstr_sendx (self->actor, "SET PUBLICKEY", zcert_public_txt(zcert), NULL);    zstr_sendx (self->actor, "SET SECRETKEY", zcert_secret_txt(zcert), NULL);}
开发者ID:sphaero,项目名称:zyre,代码行数:8,


示例2: zpipes_client_test

voidzpipes_client_test (bool verbose){    printf (" * zpipes_client: ");    //  @selftest    zactor_t *server = zactor_new (zpipes_server, NULL);    zstr_sendx (server, "SET", "server/animate", verbose? "1": "0", NULL);    zstr_sendx (server, "BIND", "ipc://@/zpipes/local", NULL);        zpipes_client_t *reader = zpipes_client_new ("local", "test pipe");    zpipes_client_t *writer = zpipes_client_new ("local", ">test pipe");    byte buffer [100];    ssize_t bytes;    //  Expect timeout error, EAGAIN    bytes = zpipes_client_read (reader, buffer, 6, 100);    assert (bytes == -1);    assert (zpipes_client_error (reader) == EAGAIN);    bytes = zpipes_client_write (writer, "CHUNK1", 6, 100);    assert (bytes == 6);    bytes = zpipes_client_write (writer, "CHUNK2", 6, 100);    assert (bytes == 6);    bytes = zpipes_client_write (writer, "CHUNK3", 6, 100);    assert (bytes == 6);    bytes = zpipes_client_read (reader, buffer, 1, 100);    assert (bytes == 1);    bytes = zpipes_client_read (reader, buffer, 10, 100);    assert (bytes == 10);    //  Now close writer    zpipes_client_destroy (&writer);    //  Expect end of pipe (short read)    bytes = zpipes_client_read (reader, buffer, 50, 100);    assert (bytes == 7);        //  Expect end of pipe (empty chunk)    bytes = zpipes_client_read (reader, buffer, 50, 100);    assert (bytes == 0);    //  Expect illegal action (EBADF) writing on reader    bytes = zpipes_client_write (reader, "CHUNK1", 6, 100);    assert (bytes == -1);    assert (zpipes_client_error (reader) == EBADF);    zpipes_client_destroy (&reader);    zpipes_client_destroy (&writer);    zactor_destroy (&server);    //  @end    printf ("OK/n");}
开发者ID:VanL,项目名称:zbroker,代码行数:55,


示例3: s_bind_proxy_sockets

static voids_bind_proxy_sockets (zactor_t *proxy, char **frontend, char **backend){    if (*frontend)        zstr_free (frontend);    if (*backend)        zstr_free (backend);    *frontend = zsys_sprintf (LOCALENDPOINT, s_get_available_port ());    *backend = zsys_sprintf (LOCALENDPOINT, s_get_available_port ());    zstr_sendx (proxy, "FRONTEND", "PULL", *frontend, NULL);    zsock_wait (proxy);    zstr_sendx (proxy, "BACKEND", "PUSH", *backend, NULL);    zsock_wait (proxy);}
开发者ID:maxkozlovsky,项目名称:czmq,代码行数:14,


示例4: zyre_stop

voidzyre_stop (zyre_t *self){    assert (self);    zstr_sendx (self->actor, "STOP", NULL);    zsock_wait (self->actor);}
开发者ID:sphaero,项目名称:zyre,代码行数:7,


示例5: main

int main(int argc, char **argv) {    //    //    const char *config_file = "malamute.cfg";    if (argc >= 2)        config_file = argv[1];    //  Start Malamute server instance    zactor_t *server = zactor_new (mlm_server, "Malamute");    zstr_sendx (server, "LOAD", config_file, NULL);    //  Accept and print any message back from server    while (true) {        char *message = zstr_recv (server);        if (message) {            puts (message);            free (message);        }        else {            puts ("interrupted");            break;        }    }    //  Shutdown all services    zactor_destroy (&server);    return EXIT_SUCCESS;}
开发者ID:vyskocilm,项目名称:playground,代码行数:27,


示例6: server_accept

static voidserver_accept (server_t *self, const char *key, const char *value){    tuple_t *tuple = (tuple_t *) zhash_lookup (self->tuples, key);    if (tuple && streq (tuple->value, value))        return;                 //  Duplicate tuple, do nothing    //  Create new tuple    tuple = (tuple_t *) zmalloc (sizeof (tuple_t));    assert (tuple);    tuple->container = self->tuples;    tuple->key = strdup (key);    tuple->value = strdup (value);    //  Store new tuple    zhash_update (tuple->container, key, tuple);    zhash_freefn (tuple->container, key, tuple_free);    //  Deliver to calling application    zstr_sendx (self->pipe, "DELIVER", key, value, NULL);    //  Hold in server context so we can broadcast to all clients    self->cur_tuple = tuple;    engine_broadcast_event (self, NULL, forward_event);    //  Copy new tuple announcement to all remotes    zsock_t *remote = (zsock_t *) zlist_first (self->remotes);    while (remote) {        int rc = zgossip_msg_send_publish (remote, key, value, 0);        assert (rc == 0);        remote = (zsock_t *) zlist_next (self->remotes);    }}
开发者ID:PSG-Luna,项目名称:czmq,代码行数:33,


示例7: zyre_join

intzyre_join (zyre_t *self, const char *group){    assert (self);    zstr_sendx (self->actor, "JOIN", group, NULL);    return 0;}
开发者ID:VanL,项目名称:zyre,代码行数:7,


示例8: mdp_broker_test

voidmdp_broker_test (bool verbose){    printf (" * mdp_broker: ");    if (verbose)        printf ("/n");        //  @selftest    zactor_t *server = zactor_new (mdp_broker, "server");    if (verbose)        zstr_send (server, "VERBOSE");    zstr_sendx (server, "BIND", "ipc://@/mdp_broker", NULL);    zsock_t *client = zsock_new (ZMQ_DEALER);    assert (client);    zsock_set_rcvtimeo (client, 2000);    zsock_connect (client, "ipc://@/mdp_broker");    //  TODO: fill this out    mdp_msg_t *request = mdp_msg_new ();    mdp_msg_destroy (&request);        zsock_destroy (&client);    zactor_destroy (&server);    //  @end    printf ("OK/n");}
开发者ID:ajanicij,项目名称:majordomo,代码行数:27,


示例9: zyre_new

zyre_t *zyre_new (const char *name){    zyre_t *self = (zyre_t *) zmalloc (sizeof (zyre_t));    assert (self);    //  Create front-to-back pipe pair for data traffic    self->inbox = zsock_new (ZMQ_PAIR);    assert (self->inbox);    char endpoint [32];    while (true) {        sprintf (endpoint, "inproc://zyre-%04x-%04x/n",                 randof (0x10000), randof (0x10000));        if (zsock_bind (self->inbox, "%s", endpoint) == 0)            break;    }    //  Create other half of traffic pipe    zsock_t *outbox = zsock_new_pair (endpoint);    assert (outbox);        //  Start node engine and wait for it to be ready    self->actor = zactor_new (zyre_node_actor, outbox);    assert (self->actor);    //  Send name, if any, to node ending    if (name)        zstr_sendx (self->actor, "SET NAME", name, NULL);        return self;}
开发者ID:VanL,项目名称:zyre,代码行数:30,


示例10: main

int main (void) {  zsys_set_ipv6 (1);  zactor_t *root = zactor_new (zgossip, "root");  assert (root);  int rc = 0;  rc = zstr_sendx (root, "BIND", "tcp://*:5670", NULL);  assert (rc == 0);  zloop_t *reactor = zloop_new ();  assert (reactor);  zloop_set_verbose (reactor, true);  rc = zloop_reader (reactor, root, handle_pipe, NULL);  assert (rc == 0);  zloop_start (reactor);  zloop_destroy (&reactor);  zactor_destroy (&root);  return 0;}
开发者ID:Asmod4n,项目名称:ruby-ffi-czmq,代码行数:26,


示例11: zyre_leave

intzyre_leave (zyre_t *self, const char *group){    assert (self);    zstr_sendx (self->actor, "LEAVE", group, NULL);    return 0;}
开发者ID:VanL,项目名称:zyre,代码行数:7,


示例12: zyre_start

intzyre_start (zyre_t *self){    assert (self);    zstr_sendx (self->actor, "START", NULL);    return zsock_wait (self->actor) == 0? 0: -1;}
开发者ID:VanL,项目名称:zyre,代码行数:7,


示例13: zauth_allow

voidzauth_allow (zauth_t *self, char *address){    zstr_sendx (self->pipe, "ALLOW", address, NULL);    //  Wait for completion    free (zstr_recv (self->pipe));}
开发者ID:guruofquality,项目名称:czmq,代码行数:7,


示例14: zauth_deny

voidzauth_deny (zauth_t *self, char *address){    zstr_sendx (self->pipe, "DENY", address, NULL);    //  Wait for completion    free (zstr_recv (self->pipe));}
开发者ID:guruofquality,项目名称:czmq,代码行数:7,


示例15: zauth_configure_gssapi

voidzauth_configure_gssapi (zauth_t *self, char *domain){    assert (self);    assert (domain);    zstr_sendx (self->pipe, "GSSAPI", domain, NULL);    zsocket_wait (self->pipe);}
开发者ID:hisitepu,项目名称:czmq,代码行数:8,


示例16: zap_request_reply

intzap_request_reply (zap_request_t *self, char *status_code, char *status_text){    zstr_sendx (self->handler,         "1.0", self->sequence, status_code, status_text, "", "",        NULL);    return 0;}
开发者ID:guruofquality,项目名称:czmq,代码行数:8,


示例17: main

int main(int argc, char** argv) {    if(argc != 2) {        fprintf(stderr, "Usage: %s ups_name/n", argv[0]);        exit(1);    }    char *addr = NULL;    zyre_t *n = zyre_new(argv[1]);    zyre_start(n);    zyre_join(n, "BIOS");    while(!zsys_interrupted && addr == NULL) {        zyre_event_t *e = zyre_event_new(n);        if(!e)            break;        if(zyre_event_headers(e) && zyre_event_header(e, "HAP_SERVER") != NULL) {            addr = strdup(zyre_event_header(e, "HAP_SERVER"));            printf("Address: %s/n", addr);        }        zyre_event_destroy(&e);    }    zyre_destroy(&n);    if(addr == NULL)        exit(1);    zsock_t * sc = zsock_new(ZMQ_PUB);    zsock_connect(sc, "%s", addr);    bool state = random()%2;    int timeout = 0;    while(!zsys_interrupted) {        if(timeout == 0) {            state = !state;            timeout = 5 + random()%20;        }        timeout--;        if(state) {            zstr_sendx(sc, argv[1], "ON", NULL);            zsys_debug("UPS %s ON", argv[1]);        } else {            zstr_sendx(sc, argv[1], "OFF", NULL);            zsys_debug("UPS %s OFF", argv[1]);        }        sleep(1);    }    zsock_destroy(&sc);}
开发者ID:hintjens,项目名称:playground,代码行数:46,


示例18: zauth_configure_plain

voidzauth_configure_plain (zauth_t *self, const char *domain, const char *filename){    assert (self);    assert (domain);    assert (filename);    zstr_sendx (self->pipe, "PLAIN", domain, filename, NULL);    zsocket_wait (self->pipe);}
开发者ID:hisitepu,项目名称:czmq,代码行数:9,


示例19: zauth_configure_curve

voidzauth_configure_curve (zauth_t *self, const char *domain, const char *location){    assert (self);    assert (domain);    assert (location);    zstr_sendx (self->pipe, "CURVE", domain, location, NULL);    zsocket_wait (self->pipe);}
开发者ID:hisitepu,项目名称:czmq,代码行数:9,


示例20: main

int main (int argc, char *argv []){    //  Get number of nodes N to simulate    //  We need 3 x N x N + 3N file handles    int max_nodes = 10;    int nbr_nodes = 0;    if (argc > 1)        max_nodes = atoi (argv [1]);    assert (max_nodes);    int max_iterations = -1;    int nbr_iterations = 0;    if (argc > 2)        max_iterations = atoi (argv [2]);    //  Our gossip network will use one fixed hub (not a Zyre node),    //  to which all nodes will connect    zactor_t *hub = zactor_new (zgossip, "hub");    zstr_sendx (hub, "BIND", "inproc://zyre-hub", NULL);            //  We address nodes as an array of actors    zactor_t **actors = (zactor_t **) zmalloc (sizeof (zactor_t *) * max_nodes);    //  We will randomly start and stop node threads    uint index;    while (!zsys_interrupted) {        index = randof (max_nodes);        //  Toggle node thread        if (actors [index]) {            zactor_destroy (&actors [index]);            actors [index] = NULL;            zsys_info ("stopped node (%d running)", --nbr_nodes);        }        else {            char node_name [10];            sprintf (node_name, "node-%d", index);            actors [index] = zactor_new (node_actor, strdup (node_name));            zsys_info ("started node (%d running)", ++nbr_nodes);        }        nbr_iterations++;        if (max_iterations > 0 && nbr_iterations >= max_iterations)            break;        //  Sleep ~300 msecs randomly so we smooth out activity        zclock_sleep (randof (100) + 100);    }    zsys_info ("stopped tester (%d iterations)", nbr_iterations);    //  Stop all remaining actors    for (index = 0; index < max_nodes; index++) {        if (actors [index])            zactor_destroy (&actors [index]);    }    free (actors);        zactor_destroy (&hub);    return 0;}
开发者ID:hiddevb,项目名称:zyre,代码行数:57,


示例21: zauth_configure_curve

voidzauth_configure_curve (zauth_t *self, char *domain, char *location){    assert (self);    assert (domain);    assert (location);    zstr_sendx (self->pipe, "CURVE", domain, location, NULL);    //  Wait for completion    free (zstr_recv (self->pipe));}
开发者ID:guruofquality,项目名称:czmq,代码行数:10,


示例22: zyre_name

const char *zyre_name (zyre_t *self){    assert (self);    //  Hold name in zyre object so caller gets a safe reference    zstr_free (&self->name);    zstr_sendx (self->actor, "NAME", NULL);    self->name = zstr_recv (self->actor);    return self->name;}
开发者ID:VanL,项目名称:zyre,代码行数:10,


示例23: zyre_endpoint

const char *zyre_endpoint (zyre_t *self){    assert (self);    //  Hold endpoint in zyre object so caller gets a safe reference    zstr_free (&self->endpoint);    zstr_sendx (self->actor, "ENDPOINT", NULL);    self->endpoint = zstr_recv (self->actor);    return self->endpoint;}
开发者ID:VanL,项目名称:zyre,代码行数:10,


示例24: zauth_configure_plain

voidzauth_configure_plain (zauth_t *self, char *domain, char *filename){    assert (self);    assert (domain);    assert (filename);    zstr_sendx (self->pipe, "PLAIN", domain, filename, NULL);    //  Wait for completion    free (zstr_recv (self->pipe));}
开发者ID:guruofquality,项目名称:czmq,代码行数:10,


示例25: zyre_uuid

const char *zyre_uuid (zyre_t *self){    assert (self);    //  Hold uuid string in zyre object so caller gets a safe reference    zstr_free (&self->uuid);    zstr_sendx (self->actor, "UUID", NULL);    self->uuid = zstr_recv (self->actor);    return self->uuid;}
开发者ID:VanL,项目名称:zyre,代码行数:10,


示例26: twps_create_ticket_printer

static int twps_create_ticket_printer(twps_server_t *self, zmsg_t *msg) {    char *type = zmsg_popstr(msg);    char *id = zmsg_popstr(msg);    zstr_free(&id);    char *path = zmsg_popstr(msg);    char *model = zmsg_popstr(msg);    wchar_t *manufacture = (wchar_t *) zmsg_popstr(msg);    wchar_t *product = (wchar_t *) zmsg_popstr(msg);    zactor_t *printer = NULL;    if (streq(type, "HID")) {        printer = zactor_new(ticket_hid_printer, path);    }#ifdef __WIN32__    else if (streq(type, "SERIAL")) {        printer = zactor_new(ticket_serial_printer, path);    }#endif    if (printer != NULL) {        if (self->verbose) {            zstr_send(printer, "VERBOSE");        }        if (self->diagnostic)            zstr_sendx(printer, "SETDIAGNOSTIC", NULL);        zstr_sendx(printer, "START", TICKET_STORE_REP_ENDPOINT, NULL);        zsock_wait(printer);        zstr_sendx(printer, "SETPRINTERSTORE", PRINTER_STORE_REP_ENDPOINT, PRINTER_STORE_PUB_ENDPOINT, NULL);        zsock_wait(printer);        zsys_info("twps server: started ticket printer %s manufacturer|product|model %ls|%ls|%s", type, manufacture,                  product, model);        zlistx_add_end(self->ticket_printers, printer);    } else {        zsys_warning("twps server: printer not added %s, %s", type, path);        zmsg_print(msg);    }    zstr_free(&type);    zstr_free(&path);    zstr_free(&model);    zstr_free((char **) &manufacture);    zstr_free((char **) &product);    return 0;}
开发者ID:zgwmike,项目名称:TWPS,代码行数:41,


示例27: s_zap_request_reply

static ints_zap_request_reply (zap_request_t *self, char *status_code, char *status_text){    if (self->verbose)        zsys_info ("zauth: - ZAP reply status_code=%s status_text=%s",                   status_code, status_text);    zstr_sendx (self->handler,                "1.0", self->sequence, status_code, status_text, "", "",                NULL);    return 0;}
开发者ID:chsticksel,项目名称:ocamlczmq,代码行数:12,


示例28: zyre_set_announce

voidzyre_set_announce (zyre_t *self, const char *format, ...){    assert (self);    va_list argptr;    va_start (argptr, format);    char *string = zsys_vprintf (format, argptr);    va_end (argptr);    zstr_sendx (self->actor, "SET ANNOUNCE", string, NULL);    free (string);}
开发者ID:VanL,项目名称:zyre,代码行数:12,


示例29: zauth_configure_plain

voidzauth_configure_plain (zauth_t *self, char *domain, char *filename, ...){    assert (self);    assert (domain);    va_list argptr;    va_start (argptr, filename);    char *formatted = zsys_vprintf (filename, argptr);    va_end (argptr);    zstr_sendx (self->pipe, "PLAIN", domain, formatted, NULL);    free (formatted);}
开发者ID:AndreasBomholtz,项目名称:czmq,代码行数:12,


示例30: zyre_gossip_connect

voidzyre_gossip_connect (zyre_t *self, const char *format, ...){    assert (self);    va_list argptr;    va_start (argptr, format);    char *string = zsys_vprintf (format, argptr);    va_end (argptr);    zstr_sendx (self->actor, "GOSSIP CONNECT", string, NULL);    free (string);}
开发者ID:VanL,项目名称:zyre,代码行数:12,



注:本文中的zstr_sendx函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ zsys_error函数代码示例
C++ zstr_sendm函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。