Socket 原理與流程
平常 App 串 API 就是使用 Restful 的方式,現在想要在 App 取得即時資訊,一個較為可靠的做法是 Socket。應用例如我常用的通訊 App,Line、Messenger、Wechat、Telegram等。
首先來看 Socket 流程圖~

透過上面圖片可以了解,服務器端先初始化 Socket,然後與端口綁定 (bind),對端口進行監聽 (listen),調用接受 (accept) 阻塞,等待客戶端連接。
在這時如果有個客戶端初始化一個 Socket,然後連接服務器 (connect),如果連接成功,這時客戶端與服務器端的連接就建立了。
客戶端發送數據 (send) 請求,服務器端接收 (recv) 請求並處理請求,然後把回應數據發送 (send) 給客戶端,客戶端讀取 (recv) 數據,最後連接關閉 (close),一次完整互動結束。
(繼續閱讀…)
HappyMan・迴響