测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017年7月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✓ |
由 harry 维护。
iOS/OS X 的 Socket.IO 客户端。
import SocketIO
let socket = SocketIOClient(socketURL: URL(string: "https://:8080")!, config: [.log(true), .compress])
socket.on(clientEvent: .connect) {data, ack in
print("socket connected")
}
socket.on("currentAmount") {data, ack in
if let cur = data[0] as? Double {
socket.emitWithAck("canUpdate", cur).timingOut(after: 0) {data in
socket.emit("update", ["amount": cur + 2.50])
}
ack.with("Got your currentAmount", "dude")
}
}
socket.connect()
@import SocketIO;
NSURL* url = [[NSURL alloc] initWithString:@"https://:8080"];
SocketIOClient* socket = [[SocketIOClient alloc] initWithSocketURL:url config:@{@"log": @YES, @"compress": @YES}];
[socket on:@"connect" callback:^(NSArray* data, SocketAckEmitter* ack) {
NSLog(@"socket connected");
}];
[socket on:@"currentAmount" callback:^(NSArray* data, SocketAckEmitter* ack) {
double cur = [[data objectAtIndex:0] floatValue];
[[socket emitWithAck:@"canUpdate" with:@[@(cur)]] timingOutAfter:0 callback:^(NSArray* data) {
[socket emit:@"update" withItems:@[@{@"amount": @(cur + 2.50)}]];
}];
[ack with:@[@"Got your currentAmount, ", @"dude"]];
}];
[socket connect];
需要 Swift 3/Xcode 8.x
如果您需要 Swift 2.3 请使用 swift2.3 标签(Swift 3 之前的支持不再维护)
如果您需要 Swift 2.2 请使用 7.x(Swift 3 之前的支持不再维护)
如果您需要 Swift 2.1 请使用 v5.5.0(Swift 2.2 之前的支持不再维护)
如果您需要 Swift 1.2 请使用 v2.4.5(Swift 2 之前的支持不再维护)
如果您需要 Swift 1.1 请使用 v1.5.2.(Swift 1.2 之前的支持不再维护)
将项目作为依赖项添加到您的 Package.swift 中
import PackageDescription
let package = Package(
name: "YourSocketIOProject",
dependencies: [
.Package(url: "https://github.com/socketio/socket.io-client-swift", majorVersion: 11)
]
)
然后导入 import SocketIO
。
将此行添加到您的 Seedfile
github "socketio/socket.io-client-swift", "v11.0.0", :files => "Source/*.swift" # Or latest version
运行 seed install
。
更详细的示例可以在这里找到
使用 Swift 包管理器的示例可以在这里找到
MIT