私は新しいスイフトです。私はiphoneのためにチャットをしたいので、私はクライアントsokectを使用する必要があります。これを作る方法。私に助言や例を与えるplz。 私はこの https://github.com/socketio/socket.io-client-swift なくは を接続しようと、このコード変更後にこのコードスウィフトでのソケットの使い方(接続、メッセージの送受信)
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)
}
試してみました:
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またはサードパーティAPIの。私のお気に入りはまだ([CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket)、Imはまた、迅速なバージョン自分自身に取り組んで、それをチェックアウト[Swidis](https://github.com/FarhadNezhad/Swidis)でありますベータ版) – Xrait
これを試してみてください。使いやすいです。あなたがそれを試し、いくつかのことを理解しない場合は、ここにコメントを書く –
alex_pは答え、SwiftSocketが接続されていますが、データを受け取ることができません。 plzは一例に私に –