2017-07-14 18 views
-2

我最近發現了關於websocket,這似乎是讓客戶端(我的例子中的iOS應用)實時接收新數據的最佳選擇。使用沒有Node.js的iOS應用程序的websocket?

我是一個相對較新的Swift開發人員,所以我對websocket,Node.js或JavaScript一無所知,這三件事在使用Socket.IO時似乎很重要。

看到絕對有ZERO資源在線用於JavaScript-noobs(像我自己)那樣令人沮喪。我找到的所有教程僅演示瞭如何在Node.js中的某種本地主機服務器中設置聊天室。

最接近我正在尋找的教程是this Appcoda tutorial,但即使是那個只演示如何使您的客戶端與另一個本地主機服務器通信。

有人可以向我解釋如何在實際服務器上配置Web套接字(與用於檢索和存儲PHP數據的服務器相同),還是這不可能?

一些更好的資源如何建立一個實際的服務器 - 客戶端連接也是受歡迎的,而不是這些模糊的localhost演示。

+0

讀好,他是在談論斯威夫特... – Fabien

+0

這是一個有點難以跟隨你的要求。如果你想在服務器上有傳入的webSocket連接,你可以選擇一個服務器端的開發環境(PHP,nodejs,Java,無論你喜歡什麼),然後找到一個在該環境中工作的webSocket服務器庫。然後,您可以按照該庫的開發者指示來了解如何設置傳入的webSocket服務器。 webSocket是一個標準協議。您可以將webSocket客戶端連接到任何支持標準webSocket協議的服務器端平臺。沒有關於webSockets的特定的node.js。 – jfriend00

+0

@ jfriend00這就是我的設想,這就是爲什麼我很驚訝地發現每個單獨的網絡套接字教程都有20多段關於如何設置Node.js的段落。我問的是如何在服務器端設置網絡套接字。就我而言,我習慣於在PHP中編寫服務器端代碼(儘管我不是原生的PHP程序員),所以理想情況下我正在尋找一種方法來在我的服務器上配置一個Web套接字。我還發現,在客戶端,你應該建立一個URL(包括一個端口號)的連接,所以我很想搞清楚如何獲得這樣的工作URL。 –

回答

1

首先,看一個適當的WebSocket客戶端斯威夫特:

https://github.com/daltoniam/Starscream

https://github.com/tidwall/SwiftWebSocket

然後,看看如何正確使用WebSockets滿足您的需求。的NodeJS是不是赤裸裸的服務器,並有過的WebSockets或事件通過WebSockets的處理功能的解決方案:

https://deepstream.io/

http://socketcluster.io/

閱讀這些解決方案,而不是平均初學者的互聯網教程的文檔和教程,像這樣HTTP Authentification Tutorial

也看看上證所的事件,也許你會發現它們更具吸引力?一個實際的對比在這裏:

http://streamdata.io/blog/push-sse-vs-websockets/

+0

SwiftWebSocket是否需要Node.js?我檢查了文檔,並在提供的示例代碼中創建了一個'WebSocket'對象,並使用以'wss://'開頭的URL進行初始化。如果我要使用這個API,我必須提供什麼URL來初始化一個'WebSocket'對象?在所有上述的Web套接字客戶端(Socket。例如IO和Starscream),web套接字對象被初始化爲一個localhost的URL,它看起來像'http:// localhost:8000',它是用Node.js創建的,但是其中的'wss://'URL SwiftWebSocket參考? –

+0

Websockets是一種協議,它不需要NodeJS專門在後端工作。儘管如此,nodejs還是由一個大型的'npm'軟件包提供支持。 – Fabien

相關問題