Swift: создание прослушивателя TCP - PullRequest
0 голосов
/ 14 мая 2018

Я новичок в разработке для iOS, я работаю в приложении, которое отправляет и получает сообщения по протоколу tcp по протоколу GCDAsyncSocket, оно правильно работает при отправке и получении ответа от сервера при отправке сообщения на сервер, но как я могу сделатьон слушает сервер, когда сервер отправляет сообщение клиентам без их отправки, или как я могу сделать клиентское устройство сервером для приема сообщений от исходного сервера.Если есть какое-либо другое решение изменить мой проект с GCDAsyncSocket на него, также приветствуется.Заранее спасибо.

1 Ответ

0 голосов
/ 14 мая 2018

Эта библиотека предоставляет механизм для прослушивания сервера (GCDAsyncSocketDelegate).

1) ваш класс должен соответствовать протоколу - добавьте его в методы вашего делегата

2) добавьте метод func socket(_ sock: GCDAsyncSocket, didRead data: Data, withTag tag: Int)

В методе из шага 3 будут получены сообщения от сервера

код

class MyClass: GCDAsyncSocketDelegate {

  var socket: GCDAsyncSocket?

  init() {
    self.socket = GCDAsyncSocket(delegate: self, delegateQueue: DispatchQueue(label: "test"))
  }

  func socket(_ sock: GCDAsyncSocket, didRead data: Data, withTag tag: Int) {
    print("Data from server")
    // even if you did not made a request
  }

}
...