firemeatman

Results 2 issues of firemeatman

当我开启KCP后,我想通过udpClient给多个主机发送消息,但是我发现中途改变hio的目标地址会造成通讯异常。 下面这段代码中,我用定时器定时向服务器发送消息,每次都重新设置sendto的目标地址。但这会造成服务端那边只收到一次消息,后面的消息都收不到。如果不改变sendto的目标地址就不会发生这种情况。 ``` GlobalData::udpClient.loop()->setInterval(3000, [](hv::TimerID timerID) { sockaddr_u target_sockaddr; sockaddr_set_ipport(&target_sockaddr, "服务器地址", 1240); int res = GlobalData::udpClient.sendto("test msg!!!", &(target_sockaddr.sa)); qDebug("send udp res: %d", res); }); ``` 如果这个不是bug,那么我是不是要像TCP一样,每次与不同的主机通讯的时候,我都要为每个地址都创建套接字才行。

1. 使用的时候顺便将项目改成了CMake模块化的结构; 2. 修改了一些细节,包括调整protocol.h文件中json结构的定义顺序、dump()方法获取json字符串内容时非UTF8字符报错的问题; 3. 客户端加了一个获取词语列表的接口;