在gateway上,我定時調(diào)用 Gateway:sendToClient() 發(fā)送一個帶有服務(wù)器時間前綴的隨機(jī)字符串給某個客戶端,通過客戶端接收到的打印來看,存在某個時間段客戶端沒有任何打印數(shù)據(jù),,過后又能一次性打印出前面幾分鐘服務(wù)器發(fā)來的數(shù)據(jù)。請問這是服務(wù)器下發(fā)有延時和粘包嗎?如果有可能,服務(wù)端從哪里打印更直觀看到發(fā)出去的那一刻時間呢?
服務(wù)器向客戶端發(fā)送數(shù)據(jù)的格式為:Y.m.d_H:i:s_xxxxxxxxx
下面是我服務(wù)端在調(diào)用 Gateway:sendToClient() 時記錄的log:
a、
b、
c、
客戶端的打?。?br />
客戶端在05:08分鐘、05:12分鐘沒有打印,而在16分鐘的時候的打印是 08、12、16分鐘服務(wù)器發(fā)來的數(shù)據(jù)的拼接字符串
你可以抓包,看下什么時候發(fā)出去的。
有可能客戶端代碼哪里阻塞了或者其它原因沒有及時從socket緩沖區(qū)讀消息,導(dǎo)致多個消息積壓在緩沖區(qū),然后客戶端又一次性全部讀出來了。