Socket.IO-Client-Swift-Q 11.0.0

Socket.IO-Client-Swift-Q 11.0.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017年7月
SwiftSwift 版本3.0
SPM支持 SPM

harry 维护。



  • Erik

Socket.IO-Client-Swift

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()

Objective-C 示例

@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];

特性

  • 支持 socket.io 2.0+ (对于 socket.io 1.0 使用 v9.x)
  • 支持二进制
  • 支持轮询和 WebSocket
  • 支持 TLS/SSL
  • 可以从 Objective-C 使用

安装

需要 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 之前的支持不再维护)

Swift 包管理器

将项目作为依赖项添加到您的 Package.swift 中

import PackageDescription

let package = Package(
    name: "YourSocketIOProject",
    dependencies: [
        .Package(url: "https://github.com/socketio/socket.io-client-swift", majorVersion: 11)
    ]
)

然后导入 import SocketIO

CocoaSeeds

将此行添加到您的 Seedfile

github "socketio/socket.io-client-swift", "v11.0.0", :files => "Source/*.swift" # Or latest version

运行 seed install

文档

详细示例

更详细的示例可以在这里找到

使用 Swift 包管理器的示例可以在这里找到

许可证

MIT