前一节我们讲到了如何用libuv实现一个TCP服务器,用libuv实现一个客户端与用libuv实现一个TCP服务器极为类似。不同的地方在于不需要进行uv_tcp_bind操作,将uv_listen改为uv_tcp_connect。
实现一个TCP客户端的基本步骤为:
1.
uv_tcp_init
建立tcp句柄2.uv_tcp_connect建立tcp连接
3.使用stream操作来和客户端通信
所用到的API为:
1.uv_tcp_init
2.uv_ip4_addr
3.uv_tcp_connect
4.uv_write/uv_read_start
下面讲只针对TCP客户端的实现介绍一个新的API函数uv_tcp_connect。
1.uv_tcp_connect函数讲解
int uv_tcp_connect(uv_connect_t* req,uv_tcp_t* handle,const struct sockaddr* addr,uv_connect_cb cb);
参数1:连接请求对象
参数2:TCP客户端对象
参数3:填充好的struct sockaddr_in结构体
参数4:回调函数
struct sockaddr_in addr;
uv_connect_t* connect = (uv_connect_t*)malloc(sizeof(uv_connect_t));
uv_ip4_addr("192.168.65.205",DEFAUL