WebRTC

Libuv api介绍

2020-05-24  本文已影响0人  JeffreyLau

libuv socket api介绍

int uv_ip4_addr(const char* ip, int port, struct sockaddr_in* addr);
int uv_ip6_addr(const char* ip, int port, struct sockaddr_in6* addr);
int uv_udp_init(uv_loop_t* loop, uv_udp_t* handle);
int uv_tcp_init(uv_loop_t* loop, uv_tcp_t* handle);
int uv_udp_bind(uv_udp_t* handle,
                const struct sockaddr* addr,
                unsigned int flags);

int uv_tcp_bind(uv_tcp_t* handle,
                const struct sockaddr* addr,
                unsigned int flags);
int uv_listen(uv_stream_t* stream, int backlog, uv_connection_cb cb);
int uv_udp_recv_start(uv_udp_t* handle,
                      uv_alloc_cb alloc_cb,
                      uv_udp_recv_cb recv_cb) ;
int uv_udp_send(uv_udp_send_t* req,
                uv_udp_t* handle,
                const uv_buf_t bufs[],
                unsigned int nbufs,
                const struct sockaddr* addr,
                uv_udp_send_cb send_cb);

libuv pipe api介绍

int uv_read_start(uv_stream_t* stream,
                  uv_alloc_cb alloc_cb,
                  uv_read_cb read_cb)
int uv_write(uv_write_t* req,
             uv_stream_t* handle,
             const uv_buf_t bufs[],
             unsigned int nbufs,
             uv_write_cb cb)
int uv_pipe_init(uv_loop_t* loop, uv_pipe_t* handle, int ipc) 
int uv_pipe_open(uv_pipe_t* pipe, uv_file file)
void uv_close(uv_handle_t* handle, uv_close_cb close_cb)

参数handle:流对象,可以是uv_pipe_t、uv_udp_t、uv_tcp_t等。

参数close_cb:回调函数,一般为NULL(uv_close、uv_fs_close等函数都可认为是同步的)

上一篇 下一篇

猜你喜欢

热点阅读