swift 實現websocket與後臺通訊(swift 如何構建簡單的json字串)
swift 語言在國內流傳度不是很廣,初學者者想找相關資料很困難,想去國外找資料又被牆了,本人才疏學淺,記錄下一些學習過程中的經驗,希望看完對你也有所幫助!
一個應用不可避免要與伺服器進行通訊,主要有,http 與 socket。(相關概念請自行google)
http暫時不論,我們先看看socket下面衍生的websocket,今天我就把自己怎麼利用websocket與伺服器進行互動記錄下來:
首先你需要整合websocket到自己的專案,如果不明白如何整合,請看上一篇《swift整合websocket庫》
整合websocket 到自己專案後還需要新增SwiftyJSON到自己專案,具體步驟和整合websocket一樣。
新增好類庫後我們就可以開始寫程式碼了!
首先開啟你專案,記得通過cocoapods生成的.xcworkspace檔案開啟專案。你會看到圖上所示的專案結構,在Pods裡面有我們新增進來的2個庫,如果沒有請參考上一篇部落格重新新增。(專案千萬不要有中文,否則新增庫後會有亂碼)
上一步沒有問題後,樓主考慮到保證websocket的唯一性,採用了單例的模式,申明我的websocket
import UIKit import Starscream class SingletonSocket { let socket:WebSocket = WebSocket(url: NSURL(string: "後臺伺服器的地址")!) class var sharedInstance : SingletonSocket{ struct Static{ static let instance:SingletonSocket = SingletonSocket() } if !Static.instance.socket.isConnected{ Static.instance.socket.connect() } return Static.instance } }
在你使用的類裡面一般是viewcotroller裡面,要記得先實現
WebSocketDelegate 這個介面
介面必須實現的函式,不實現會報錯
在viewDidLoad裡面設定websocket的回撥為在這個類實現的delegate,這樣就能接收到伺服器給我們返回的資料
接下來構建我們的請求引數,構建好後再用socket物件的writeString()傳送給伺服器
然後我們在回撥函式裡面列印一下伺服器返回的資料
當然實際開發中我們不會僅僅列印資料,你可以根據你的業務邏輯在這裡新增你自己的處理
最終實現後println打印出來的資料
這樣一個基本的使用websocket傳送json資料給後臺到接受返回的流程就OK了!
轉載請保留出處:
相關推薦
swift 實現websocket與後臺通訊(swift 如何構建簡單的json字串)
swift 語言在國內流傳度不是很廣,初學者者想找相關資料很困難,想去國外找資料又被牆了,本人才疏學淺,記錄下一些學習過程中的經驗,希望看完對你也有所幫助! 一個應用不可避免要與伺服器進行通訊,主要有,http 與 socket。(相關概念請自行google) http暫時
藉助事件匯流排框架(EventBus)實現Fragment與Activity通訊
最開始學Android的時候,Fragment與Activity之間的通訊一直是比較讓人頭疼的部分。 所謂通訊,其實就是要讓Activity裡的某些成員資訊與Fragment共享(或者相反)。一個方法是藉助回撥介面,Fragment裡定義一個介面由Activity實現,Fragment裡獲取Ac
Java實現websocket與微信小程式連線
微信的WebSocket介面和HTML5的WebSocket基本一樣,是HTTP協議升級來的,做為一個新的Socket在B/S上使用,它實現了瀏覽器與伺服器全雙工通訊。 在WebSocket出來之前,實現即時通訊通常使用Ajax來實現,而Ajax是通過輪詢的方式進行實時資料的獲
實現Python與STM32通訊
斷斷續續學了幾周Stm32後,突然想實現上位機和下位機的通訊,恰好自己學過一點python,便想通過python實現通訊. 首先在windows的CMD命令管理器中安裝pyserial,直接在CMD中鍵入如下字元 pip install pyserial 再將S
Ext分頁實現(前臺與後臺)Spring+Mybatis
Ext分頁實現(前臺與後臺)Spring+Mybatis 一、專案背景 關於Ext的分頁網上有很多部落格都有提到,但是作為Ext新手來說,並不能很容易的在自己的專案中得以應用。因為,大多數教程以及部落格基本都是隻寫了前端的東西,而關於分頁演算法更多的應該是後臺。並且大多數資料庫的sql基
Fragment學習之使用介面回撥的方式實現Fragment與Activity通訊
Fragment與Fragment之間可以進行資訊傳遞,同樣,Fragment與Activity也可以進行資訊的傳遞。 下面是一個演示在Activity中獲取來自Fragment的資訊,使用介面回撥的方法在Activity中接收資訊 MainActivity.java:
angular js 實現前臺與後臺資料對接(Service $http)
一、service服務是什麼? 自我理解:服務是提供了一個應用整個生命週期中保持資料的方法。能在控制器中傳遞值,保持資料的一致性。服務是單利的,在專案中是被例項化一次,並且是用到的時候才被例項化。服務建立資料、儲存資料,與控制器之間緊密通訊。 $http
Android開發--與後臺通訊(一)--API資料獲取
API網路請求 對於之前寫的2篇關於API的內容和JSON文字解析類,當然需要有著配套的網路請求配合安卓端請求和獲取資料,這篇部落格介紹與後臺通訊中網路的基本請求與API資料有關 準備 這裡我們使用現在封裝得比較好的包:okhttp 在配
HC-05實現電腦與stm32通訊
藍芽在通訊中代替的是串列埠通訊時的一根線,所以在串列埠通訊改藍芽通訊時無需更改程式碼,只需將藍芽連到微控制器上,注意若使用usart1,注意連線位置,之前我用的正點mini的板子,PA9、10用跳線帽和USB串列埠R和T連在一起,導致我把藍芽的R和Tlian連
Android 通訊之EventBus實現廣播與Activity通訊
本章節講述 如何利用EventBus 實現Android廣播與Activity通訊 根據廣播接收到的內容更新Activity資料本章節中的廣播是極光推送操作別名和標籤的廣播程式碼1:@Override
VMware12虛擬機器實現上網與主機通訊
主機環境: windows10 64bit 虛擬機器版本: 12 虛擬機器: CentOS 7 /minimal 參考一些網路上各位大牛的文章,一步步的實現了上網與主機通訊的2個功能,為以後的模擬
Java後端實現websocket與微信小程式端連線簡單例子
} 以上是網上的前端及後端的程式碼(原文地址:http://www.cnblogs.com/xdp-gacl/p/5193279.html?utm_source=tuicool&utm_medium=referral),jdk版本要求是在jdk1.7.0以上,tomcat版本也需要在tomcat7.0
C++實現中英文與UNICODE十六進位制字串互轉
之前搞過這個中英文與UNICODE十六進位制字串的互轉,但是發現有點小問題。現在重新搞了一個,測試中暫時沒有發現什麼問題。先記錄下來。 我嘗試使用過MultiByteToWideChar和WideCharToMultiByte來實現這個功能,但是發現不行。也就是無法實現如:
ajax 與後臺互動後返回相應的字串
前臺 $.ajax({ type: "post", url: "<c:url value='/office/word!getPostReportInfo.do' />", data: {items: selectedItems.join('
後臺date型別轉換為json字串時,返回前臺頁面的是long time值問題解決
https://blog.csdn.net/zhanglf02/article/details/77770118問題頁面回顧: 本例環境和框架:maven工程+ssm框架+jdk1.7+tomcat7.0 解決方案: 解決方案分為兩種: 第一種:如果bo(實體類)對應的欄位(
iOS開發項目實戰——Swift實現圖片輪播與瀏覽
0.10 上網 timer類 開發項目 cas hub string obj tle 近期開始開發一個新的iOS應用,自己決定使用Swift。進行了幾天之後,發現了一個非常嚴峻的問題。那就是無論是書籍,還是網絡資源,關於Swift的實在是太少了,隨便一
spring boot中使用websocket實現點對點通訊與伺服器推送
WebSocket介紹 websocket是html中一種新的協議,它實現了真正的長連線,實現了瀏覽器與伺服器的全雙工通訊(指在通訊的任意時刻,線路上存在A到B和B到A的雙向訊號傳輸)。 現在我們接觸的協議大多是htttp協議,在瀏覽器中通過http協議實現了單向的通訊
小程式與java實現websocket通訊
1.websocket類 /** * @ServerEndpoint 註解是一個類層次的註解,它的功能主要是將目前的類定義成一個websocket伺服器端, * 註解的值將被用於監聽使用者連線的終端訪問URL地址,客戶端可以通過這個URL來連線到WebSocket伺服器端 */ @Serv
Vue+Java servlet 通過websocket實現伺服器與客戶端雙向通訊
1. vue程式碼 methods: { //在方法裡呼叫 this.websocketsend()傳送資料給伺服器 onConfirm () { //需要傳輸的資料 let data = { cod
Android Java_WebSocket實現與後臺聊天通訊
轉載請帶上原著連線哦~~ 作者:Obj_class弄了2天做出來的聊天,真的是心痛,也沒什麼難得東西,主要還是不熟悉,就會出錯,很尷尬!先放鬆一下:來段舞蹈吧!WebSocket簡介WebSocket協議是基於TCP的一種新的網路協議。它實現了瀏覽器與伺服器全雙工(full-