Ejemplo n.º 1
0
int rpc_send(nw_ses *ses, rpc_pkg *pkg)
{
    void *data;
    uint32_t size;
    int ret = rpc_pack(pkg, &data, &size);
    if (ret < 0)
        return ret;
    return nw_ses_send(ses, data, size);
}
Ejemplo n.º 2
0
void on_recv_pkg(nw_ses *ses, void *data, size_t size)
{
    char *str = malloc(size + 1);
    memcpy(str, data, size);
    str[size] = 0;
    printf("from: %s recv: %zu: %s", nw_sock_human_addr(&ses->peer_addr), size, str);
    if (nw_ses_send(ses, data, size) < 0) {
        printf("nw_ses_send fail\n");
    }
    free(str);
}
Ejemplo n.º 3
0
void on_recv_fd(nw_ses *ses, int fd)
{
    printf("recv fd: %d\n", fd);
    char buf[10240];
    int ret = read(fd, buf, sizeof(buf));
    if (ret < 0) {
        printf("read error: %s\n", strerror(errno));
    } else if (nw_ses_send(ses, buf, ret) < 0) {
        printf("nw_ses_send fail\n");
    }
    close(fd);
}