在udp模式下,$worker->uidConnections = $connection;用这种方式保存连接是不是没有意义?因为每次UdpConnection实例都不同。
就好比共享单车,是不是某部单车没有跟服务端发起联系时,服务端就无法主动向该单车发出指令?如是上这样,那是不是在客户端(单车)上要做一个心跳机制,在很短周期内,好比每秒钟向服务端发送信息,以便服务端有指令下发时能及时通讯,请问各位大神,我的理解对么?
udp是无连接的,我测试的时候如果保存udp连接实例,大概十几秒后再用这个连接发送udp数据客户端是收不到的。十秒内不断给客户端发udp又可以发送到。搞不懂,估计udp就这样
所以如果要跟tcp那样随时想通讯该如何处理?是客户端不断发心跳包保持连接,还是服务端不断发心跳包?实际应用中是怎么处理的?
10秒发一次心跳包我觉得消耗很大,不如直接tcp了
@3236:TCP也要心跳机制才稳定些
udp是无连接的,我测试的时候如果保存udp连接实例,大概十几秒后再用这个连接发送udp数据客户端是收不到的。十秒内不断给客户端发udp又可以发送到。搞不懂,估计udp就这样
所以如果要跟tcp那样随时想通讯该如何处理?是客户端不断发心跳包保持连接,还是服务端不断发心跳包?实际应用中是怎么处理的?
10秒发一次心跳包我觉得消耗很大,不如直接tcp了
@3236:TCP也要心跳机制才稳定些