测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | BSD |
发布最后发布 | 2017年7月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Dan Shevlyuk 维护。
SwiftSocket 库提供了一个易于使用的界面,用于在服务器或客户端实现基于套接字连接。支持 TCP 和 UDP 套接字。
// Create a socket connect to www.apple.com and port at 80
let client = TCPClient(address: "www.apple.com", port: 80)
您还可以将超时设置为 -1
或保留参数为空(client.connect()
),以关闭连接超时。
switch client.connect(timeout: 10) {
case .success:
// Connection successful 🎉
case .failure(let error):
// 💩
}
let data: Data = // ... Bytes you want to send
let result = client.send(data: data)
var data = client.read(1024*10) //return optional [Int8]
client.close()
let client = TCPClient(address: "www.apple.com", port: 80)
switch client.connect(timeout: 1) {
case .success:
switch client.send(string: "GET / HTTP/1.0\n\n" ) {
case .success:
guard let data = client.read(1024*10) else { return }
if let response = String(bytes: data, encoding: .utf8) {
print(response)
}
case .failure(let error):
print(error)
}
case .failure(let error):
print(error)
}
func echoService(client: TCPClient) {
print("Newclient from:\(client.address)[\(client.port)]")
var d = client.read(1024*10)
client.send(data: d!)
client.close()
}
func testServer() {
let server = TCPServer(address: "127.0.0.1", port: 8080)
switch server.listen() {
case .success:
while true {
if var client = server.accept() {
echoService(client: client)
} else {
print("accept error")
}
}
case .failure(let error):
print(error)
}
}