84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
一則訊息 如何透過伺服器中轉達到 指定的另一端的
方便的話 貼一段典型的程式碼
另外session儲存的時候 都儲存什麼資訊啊
认证0级讲师
我的理解:客戶端每間隔一段時間(例如一秒)向伺服器進行一次請求(發送request)。如果服務端存在訊息則在回應(response)中標記訊息,通知客戶端伺服器端有新訊息。客戶端向服務端發送請求拉去訊息,服務端回應。
request:有新消息嗎?收到請回答。response:沒有。request:有新消息嗎?收到請回答。response:沒有。request:有新消息嗎?收到請回答。response:有,訊息id是123456。request:請發送訊息id是123456的訊息內容。response:訊息id:123456,訊息正文:驚!這個女人竟然在13億人面前做這種事……。
訊息傳達是透過客戶端刷新向服務端獲得訊息的而不是服務端直接向客戶端發送
以前確實有一些是直接在本地開埠由伺服器直接請求客戶端的,但現在用於訊息推送已經不多見了(通常用於區域網路內傳輸檔案或資訊)
session儲存在伺服器,本地透過 Cookies 儲存 SESSION 的 name 和 id,伺服器透過這兩個而取得伺服器端儲存的內容
目前常見的是兩種方案。1、客戶端主動輪詢(也就是每隔N時間向服務端詢問有沒有訊息。2、服務端主動推送。後端服務之間用socket,與前端通訊的話可以用websocket。
http2.0 可以很好的處理,可以試試啊~
都說是即時性的了,肯定要建立長連結這種了。比如socket。
如果只是屬於產品的眾多功能之一,即時通信推薦題主對接IM,既可以節約一大筆開發支出,現有的IM提供商附帶的功能又比較全面,比自己開發要划算的多,題主可以看一下環信http://www.easemob.com/
我的理解:
客戶端每間隔一段時間(例如一秒)向伺服器進行一次請求(發送request)。
如果服務端存在訊息則在回應(response)中標記訊息,通知客戶端伺服器端有新訊息。
客戶端向服務端發送請求拉去訊息,服務端回應。
request:有新消息嗎?收到請回答。
response:沒有。
request:有新消息嗎?收到請回答。
response:沒有。
request:有新消息嗎?收到請回答。
response:有,訊息id是123456。
request:請發送訊息id是123456的訊息內容。
response:訊息id:123456,訊息正文:驚!這個女人竟然在13億人面前做這種事……。
訊息傳達是透過客戶端刷新向服務端獲得訊息的而不是服務端直接向客戶端發送
以前確實有一些是直接在本地開埠由伺服器直接請求客戶端的,但現在用於訊息推送已經不多見了(通常用於區域網路內傳輸檔案或資訊)
session儲存在伺服器,本地透過 Cookies 儲存 SESSION 的 name 和 id,伺服器透過這兩個而取得伺服器端儲存的內容
目前常見的是兩種方案。
1、客戶端主動輪詢(也就是每隔N時間向服務端詢問有沒有訊息。
2、服務端主動推送。後端服務之間用socket,與前端通訊的話可以用websocket。
http2.0 可以很好的處理,可以試試啊~
都說是即時性的了,肯定要建立長連結這種了。比如socket。
如果只是屬於產品的眾多功能之一,即時通信推薦題主對接IM,既可以節約一大筆開發支出,現有的IM提供商附帶的功能又比較全面,比自己開發要划算的多,題主可以看一下環信http://www.easemob.com/