I am new swift. Voglio fare chat per iphone quindi ho bisogno di usare client sokect. come farlo dammi consigli o esempio plz. Ho provato questo https://github.com/socketio/socket.io-client-swift ma non in contatto e provato questo codicecome usare il socket in swift (connettere, inviare e ricevere messaggi)
let client:TCPClient = TCPClient(addr: "89.236.254.27", port: 9000)
let (success,errmsg) = client.connect(timeout: 1)
if success {
let (success,errmsg) = client.send(str:"Hello World!")
if success {
let data = client.read(1024 * 10)
if let d = data {
if let str = NSString(bytes: d, length: d.count, encoding: NSUTF8StringEncoding) {
print(str)
}
}
} else {
print(errmsg)
}
} else {
print(errmsg)
}
dopo il cambiamento di questo codice:
override func viewDidLoad() {
super.viewDidLoad()
let qualityOfServiceClass = QOS_CLASS_BACKGROUND
let backgroundQueue = dispatch_get_global_queue(qualityOfServiceClass, 0)
dispatch_async(backgroundQueue, {
let client:TCPClient = TCPClient(addr: "89.236.254.27", port: 9000)
var (success, errmsg)=client.connect(timeout: 1)
if success {
var (isSuccess, errorMessage) = client.send(str: "Hello!")
if success {
let data = client.read(1024 * 4)
if let d = data {
if let str = NSString(bytes: d, length: d.count, encoding: NSUTF8StringEncoding) as? String {
print(str)
}
}
} else {
print(errmsg)
}
} else {
print(errmsg)
}
dispatch_async(dispatch_get_main_queue(), {
() -> Void in
print("This is run on the main queue, after the previous code in outer block")
})
})
}
NSStream o di terze parti API. Il mio preferito è [CocoaAsyncSocket] (https://github.com/robbiehanson/CocoaAsyncSocket), anche io sto lavorando su una versione veloce, check it out [Swidis] (https://github.com/FarhadNezhad/Swidis) (Still Beta) – Xrait
Prova questo https://github.com/swiftsocket/SwiftSocket È facile da usare. Se lo proverai e non capirai alcune cose, scrivi qui i commenti –
alex_p grazie per la risposta, SwiftSocket è connesso ma non può ricevere i dati. plz dammi l'esempio –