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

ajax調(diào)用一個方法,該方法里面調(diào)用Gateway::sendToClient

workman

ajax調(diào)用一個方法,該方法里面調(diào)用Gateway::sendToClient,怎么等待Gateway::sendToClient給出客戶端的反饋呢,如果沒有返回的話,ajax請求完了直接就斷了,瀏覽器頁面就收不到客戶端的返回數(shù)據(jù)了,請問怎么辦呢
[attach]306[/attach]

3625 3 0
3個回答

walkor 打賞

說下描述下場景和服務端環(huán)境吧。
誰處理的ajax,apache?nginx?,使用的GatewayClient客戶端提供的Gateway::sendToClient 接口發(fā)送數(shù)據(jù)?

  • workman 2016-05-24

    apache服務器 瀏覽器發(fā)送一個ajax請求一個php方法,php方法里面通過Gateway::sendToClient 向另一個連接GatewayWork的終端發(fā)送一個命令,終端執(zhí)行這個命令后會返回一個執(zhí)行成功或者執(zhí)行失敗的數(shù)據(jù),怎樣讓瀏覽器獲取到返回的數(shù)據(jù),現(xiàn)在因為Gateway::sendToClient 沒有返回,所以ajax執(zhí)行php方法后連接就斷開了,獲取不到數(shù)據(jù),怎樣讓ajax一直等待終端那邊返回的執(zhí)行結(jié)果呢?

  • workman 2016-05-24

    使用的GatewayClient客戶端提供的Gateway::sendToClient 接口

walkor 打賞

Gateway::sendToClient 發(fā)送之后,不能等待客戶端的反饋。原因是客戶端一般是暴露給外網(wǎng)的,并且客戶端不太可控,導致客戶端等待客戶端反饋可能會耗時很長時間,由于外網(wǎng)延遲等待10秒都有可能。

這樣就有可能會導致apache服務器的所有進程都阻塞在Gateway::sendToClient后等待客戶端反饋。導致apache變慢,甚至無法使用。

正確做法應該是Gateway::sendToClient后,客戶端(瀏覽器)收到消息,通過ajax通知apache,客戶端消息已經(jīng)收到。如果這個消息需要反饋給發(fā)起消息的客戶端,可以再調(diào)用Gateway::sendToClient發(fā)送給發(fā)起者即可。

  • 暫無評論
ivan

感覺參考聊天室的方式,用websocket可以群發(fā)消息,然后收其他客戶端反饋是不是?

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