Я пытаюсь создать сервер сокетов на устройстве 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()
}
Любые предложения кода или предложения библиотеки приветствуются.Я могу поделиться другим кодом, используемым для сокета, если вы, ребята, хотите.