libuv_UDP服务器搭建

设计概述

http://docs.libuv.org/en/v1.x/design.html

这里写图片描述

这里写图片描述

这里写图片描述


服务器绑定端口

1: 初始化服务器 udp handle: uv_udp_init(event_loop, &udp_server);
2:配置绑定IP与端口:
struct sockaddr_in addr;
uv_ip4_addr(“0.0.0.0”, 6080, &addr);
uv_udp_bind(&udp_server, (const struct sockaddr*)&addr, 0);

3:告诉event loop,管理数据:
uv_udp_recv_start(&udp_server, uv_alloc_buf, uv_udp_recv_data);
4:告诉event loop, 不要管理这个 handle的 读数据事件: uv_udp_recv_stop

这里写图片描述

这里写图片描述

这里写图片描述


获取地址

1:ipv4为例:
ip + 端口与 struct sockaddr_in addr转换;
uv_ip4_addr(“0.0.0.0”, 6080, &addr)
struct sockaddr addr –> ip + 端口转换;
uv_ip4_name(addr, buf, buf_size): 获取ip地址;
ntohs(((struct sockaddr_in*)addr)->sin_port)


发送数据

:uv_udp_send: 发送数据;

这里写图片描述


这里写图片描述


Server

chient

猜你喜欢

转载自blog.csdn.net/qq_36482772/article/details/79889650