Currents 是 Swift 2 的 TCP/IP 库。
Foundation
依赖(Linux 兼容)IP
// local
do {
// all network interfaces
let ip1 = try IP(port: 5555, mode: .IPV4)
// specific network interface
let ip2 = try IP(networkInterface: "en0", port: 5555, mode: .IPV6)
} catch {
// something bad happened :(
}
// remote
do {
let ip3 = try IP(address: "127.0.0.1", port: 5555, mode: .IPV4)
} catch {
// something bad happened :(
}
TCP
// server
do {
let ip = try IP(port: 5555)
let serverSocket = try TCPServerSocket(ip: ip)
let clientSocket = try serverSocket.accept()
let yo = try clientSocket.receiveString(untilDelimiter: "\n")
} catch {
// something bad happened :(
}
// client
do {
let ip = try IP(address: "127.0.0.1", port: 5555)
let clientSocket = try TCPClientSocket(ip: ip)
// calls to send append the data to an internal
// buffer to minimize system calls
try clientSocket.sendString("yo\n")\
// flush actually sends all data in the buffer
try clientSocket.flush()
} catch {
// something bad happened :(
}
如果你不希望使用依赖管理器,你可以手动将 Currents 集成到项目中。
cd
命令进入您的顶级项目目录,并运行以下命令“if”您的项目尚未初始化为 git 仓库$ git init
$ git submodule add https://github.com/Zewo/Currents.git
打开新的 Currents
文件夹,并将 Currents.xcodeproj
拖到您应用程序的 Xcode 项目的“项目导航器”中。
它应该出现在您的应用程序蓝色项目图标下面。它是在所有其他 Xcode 组之上还是之下无关紧要。
选择“项目导航器”(蓝色项目图标)中的 Currents.xcodeproj
,并检查部署目标是否与您的应用程序目标匹配。
+
按钮。您将看到两个不同的 Currents.xcodeproj
文件夹,每个文件夹内都有一个嵌套在“Products”文件夹中的不同版本的 Currents.framework
。
您可以选择哪个“Products”文件夹无关紧要,但您选择的
Currents.framework
的上下文很重要。
对于 OS X 选择顶部的 Currents.framework
,对于 iOS 选择底部的。
您可以通过检查项目构建日志来验证您选择的是哪一个。Currents 的构建目标将被列为
Currents iOS
或Currents OSX
。
这样就可以了!
Currents.framework
将自动添加为目标依赖项,并且作为一个副本文件构建阶段的链接框架和内嵌框架,这正是您在模拟器和设备上构建所需的一切。
Currents 采用 MIT 许可证发布。详情请参阅 LICENSE 文件。