Jestem nowy szybki. Chcę tworzyć czat dla iPhone'a, więc muszę używać klienta sokect. jak to zrobić. daj mi radę lub przykład plz. Próbowałem to https://github.com/socketio/socket.io-client-swift ale niepodłączony i próbowałem ten kodjak używać gniazda w Swift (podłącz, wyślij i otrzymam wiadomość)
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)
}
po zmianie tego kodu:
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 lub firm trzecich Pszczoła. Moim ulubionym jest [CocoaAsyncSocket] (https://github.com/robbiehanson/CocoaAsyncSocket), ja również pracuję nad szybką wersją, sprawdź to [Swidis] (https://github.com/FarhadNezhad/Swidis) (Still Beta tho) – Xrait
Spróbuj tego https://github.com/swiftsocket/SwiftSocket Jest łatwy w użyciu. Jeśli spróbujesz i nie zrozumiesz pewnych rzeczy, napisz tutaj komentarze –
alex_p dzięki za odpowiedź, SwiftSocket podłączony, ale nie mogę odbierać danych. plz daj mi przykład –