国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

UDP模式,怎么主動給客戶端發(fā)消息呢?

snang

UDP模式,怎么主動給客戶端發(fā)消息呢?
當客戶端給服務器發(fā)消息,服務器端會通過onMessage給客戶端回復消息,但是當客戶端沒有給服務器端發(fā)消息,那么服務器端如何主動給客戶端發(fā)消息呢?

16826 9 0
9個回答

damao

用定時器發(fā)?

  • 暫無評論
snang

關鍵用定時器發(fā)給誰啊,只能獲取外網(wǎng)的ip地址,怎么發(fā)到內網(wǎng)客戶端的那個機器呢?

  • 暫無評論
damao

得內網(wǎng)用戶主動發(fā)個udp請求給服務端,不然服務端無法給給某個局域網(wǎng)的用戶發(fā)消息的。

  • 暫無評論
snang

是啊,內網(wǎng)請求,直接通過send回復沒有問題。現(xiàn)在就想知道怎么主動推送消息。

  • 暫無評論
damao

客戶端給服務端先發(fā)送一個udp請求,服務端保存這個connection,然后定時器定時通過這個connection發(fā)送給客戶端

  • zhengweipx 2018-04-10

    定時發(fā)送也寫在onMessage這個方法里嗎?

  • damao 2018-04-10

    對啊

  • vilson 2019-05-23

    我也遇到這個問題了。只能用這種方式嗎?用存儲的connection發(fā)送的話,沒法子接受返回的數(shù)據(jù)呀。。

snang

connection包含了以下信息:
{
=>
NULL
=>
resource(11) of type (stream)
=>
string(20) "123.139.19.15:46307"
=>
NULL
=>
NULL
=>
NULL
}

其中只有 是客戶端的信息,客戶端是通過路由器連接到服務器,如果從服務器上給客戶端發(fā)消息,我測試服務器不能通過123.139.19.15:46307發(fā)給客戶端(局域網(wǎng)內可以,這樣是不是只有固定IP的才可以?)

  • 暫無評論
walkor 打賞

udp的話超過一定時間不通訊,一般外網(wǎng)路由器會關閉那個臨時端口的,這時外網(wǎng)服務器是無法給客戶端推送的。這個是間不一定,有的可能超過10秒不通訊就關閉了。

snang

原來是這樣,非常感謝,那是不是使用GatewayWorker的TCP協(xié)議更合適一些?

  • vilson 2019-05-23

    請問這個問題有別的解決方案嘛?

walkor 打賞

嗯,tcp更適合做推送,推送類推薦用GatewayWorker。接口和分布式部署都超級簡單方便

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??