EasyTCP

一个简单易用的 Swift TCP 客户端。

文档

启动 TCP

let tcp = EasyTCP(hostName: "tcpbin.com", port: 4242)
tcp.start()

发送和接收

let result = try await tcp.send("Hello")
// Convert to String
let resultString = String(data: result, encoding: .utf8)!
print(resultString)

TLS(传输层安全性协议)

let tcp = EasyTCP(hostName: "tcpbin.com", port: 4243, using: .tls)

JSON-RPC(JSON 远程过程调用)

如果您正在使用 JSON RPC,您可以指定将从服务器发送的最后一个字符。

let tcp = EasyTCP(hostName: "tcpbin.com", port: 4242, lastLetters: "}", debug: true)

当您使用 JSON RCP 时,您可以发送和接收对象。 您必须指定符合 Codable 协议的类型。

struct Item: Codable {
    let a: String
}

let result = try await tcp.sendJsonRpc(input: Item(a: "Hello"), output: Item.self)

警告

如果您接收到巨大的数据包,客户端将等待直到所有数据包到达。 如果您的连接速度较慢,请将 waitTime 设置得更高。

let tcp = EasyTCP(hostName: "tcpbin.com", port: 4242, waitTime: 0.7)

如果您正在使用 JSON-RPC,则不必这样做。