Сервер Сокетов на iOS, Xcode 10, swift 4.2 - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь создать сервер сокетов на устройстве iOS, используя swift.Я могу создать клиента, но не смог создать сервер сокетов.

Я уже пробовал несколько библиотек: BlueSocket: https://github.com/IBM-Swift/BlueSocket SwiftSocket: https://github.com/swiftsocket/SwiftSocket и еще несколько.

с помощью BlueSocket мы просто получаем пинг, а затем появляетсянет дальнейшего общения.

func addNewConnection (socket: Socket) {

self.connectedSockets[socket.socketfd] = socket
try? socket.setReadTimeout(value: 10000)
try? socket.setWriteTimeout(value: 10000)
let queue = DispatchQueue.global(qos: .default)

DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1, execute: {
    print("sending message ")
    do{
        let reply = "Server from response"
        let written = try socket.write(from: reply)
        print("sent to client is: \(written)")
    }catch let error{
        print("error in replying for connection \(error) and \(error.localizedDescription)")
    }
})

func readNewData(){
    print("reading once again")
    var readData = Data()
    do{
        //let stringRead = try socket.readString()
        let bytesRead = try listenSocket?.read(into: &readData) ?? 0//socket.read(into: &readData)
        if bytesRead  > 0 {
            guard let response = String(data: readData, encoding: .utf8) else {
                print("Error decoding response...")
                return
                //break
            }
            print("data string read in socket are \(response)")
        }

    }catch let error{
        print("error reading data in socket \(error) and \(error.localizedDescription)")
    }
}

timer.eventHandler = {
    readNewData()
}
timer.resume()

}

Любые предложения кода или предложения библиотеки приветствуются.Я могу поделиться другим кодом, используемым для сокета, если вы, ребята, хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...