WebSocket

WebSocket

Для использования WebSocket в вашем проекте, вы можете воспользоваться библиотекой daltoniam/Starscream, используя следующую схему url при инициализации WebSocket:

var socket = WebSocket(url: NSURL(string: "wss://wss.scorocode.ru/{appID}/{wsKey}/{chanName}")!)
socket.connect()
где

Параметр Тип Свойства Описание Пример значения
appID String Обязательное Ключ appId вашего приложения a3d04e75e157b2f7ae20c2fce02f63d6
wsKey String Обязательное Ключ websocketKey вашего приложения 563452bbc611d8106d5da767365897de
chanName String Обязательное Произвольное имя канала chatroom

Пример

var socket = WebSocket(url: NSURL(string: "wss://wss.scorocode.ru/a3d04e75e157b2f7ae20c2fce02f63d6/563452bbc611d8106d5da767365897de/chatroom")!)
socket.connect()

Подключение библиотеки Starscream с использованием cocoapods

Библиотека Starscream

Подробную информацию о способах подключения библиотеки Starscream вы сможете найти в Readme.md репозитория daltoniam/Starscream.

1) Добавить в ваш Podfile текст "pod 'Starscream', '~> 2.0.3'":

Пример Podfile

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target 'MyProject' do
  pod 'Scorocode'
  pod 'Starscream', '~> 2.0.3'
end

2) Запустить в консоли в папке с проектом команду:

pod install 

Пример использования библиотеки Starscream

Библиотека Starscream

Подробную информацию о способах подключения библиотеки Starscream вы сможете найти в Readme.md репозитория daltoniam/Starscream.

Пример

import UIKit
import Starscream

class ViewController: UIViewController {

    var socket: WebSocket!

    @IBOutlet private weak var textField: UITextField!
    @IBOutlet private weak var textView: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    @IBAction private func connectTapped() {

        socket = WebSocket(url: NSURL(string: "wss://wss.scorocode.ru/a3d04e75e157b2f7ae20c2fce02f63d6/563452bbc611d8106d5da767365897de/chatroom")!)
        socket.connect()

        socket.onConnect = {
            print("connected")
        }

        socket.onText = {
            text in
            print(text)
            self.textView.text = self.textView.text + "\n\(text)"
        }

        socket.onData = {
            data in
            print(data)
        }

    }

    @IBAction private func disconnectTapped() {

    }

    @IBAction private func sendTapped() {
        socket.writeString(textField.text!)
    }


}