2017-10-13 68 views

回答

0

服務器套接字通過服務器...,保持聽來在一個循環的插座要求用...和WebSocket的發送到服務器套接字的請求,並結合兩個設備之間的連接...

0

如果你有/想要有網絡客戶端,WebSocket將被要求,因爲沒有從基於瀏覽器的JavaScript訪問'常規'TCP(或UDP)套接字(我假設你2017年不需要Flash,SilverLight或Java Applets)。由於端口號的原因,WebSocket並不是特殊的,但它因協議而特殊:WebSocket連接以普通的HTTP連接開始,之後重新配置,它爲瀏覽器世界設計,甚至能夠遍歷HTTP代理。建立連接後,它提供了一個全雙工雙向消息流,非常適用於聊天應用程序。

因爲是一個網絡事物,如果你被允許,你可以簡單地使用端口80。

1

webSockets可以共享與您的Web服務器相同的端口,這是一種常用配置。這起作用的原因是因爲webSocket如何建立連接(所有webSocket連接都是通過HTTP請求啓動的)。它的工作原理是這樣的:

  1. 客戶端發出一個頭指定他們想「升級」到WebSocket協議,併發送安全相關的頭一個HTTP請求到Web服務器。
  2. Web服務器看到升級請求,並且如果支持啓用webSocket連接,它將響應101請求(切換協議)和另一個安全相關頭。

  3. 客戶端獲得接受的升級並且兩端都切換到webSocket協議,並且使用HTTP協議啓動的原始TCP套接字現在使用webSocket協議。

以這種方式,相同的端口和webServer可用於常規HTTP請求或webSocket連接請求。

對於聊天應用程序,通常使用webSocket連接,因爲它是一個連續的連接,更容易讓服務器直接向聊天應用程序中常需要的客戶端發送信息。

要了解有關webSocket連接和服務器如何工作的更多信息,請參閱MDN上的此參考:Writing WebSocket servers,其中顯示了啓動webSocket連接的分步過程。

+0

@RobinSharma - 你爲什麼刪除接受的答案?你的問題沒有回答嗎?如果是這樣,你還有什麼困惑? – jfriend00

相關問題