Socket.swift 2.4.0

Socket.swift 2.4.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2019年11月
SPM支持 SPM

Orkhan Alikhanov维护。



  • 作者:
  • Orkhan Alikhanov

Platform Linux Platform iOS macOS tvOS Cocoapods Compatible Carthage Compatible License Build Status - Master

Socket.swift

用 Swift 编写的 POSIX 套接字包装器。

特性

  • TLS/SSL 支持
  • 支持 Linux,iOS,macOS 和 tvOS
  • 代码干净且易于理解

如果您觉得需要实现某项功能,只需打开问题或提交 PR

示例

let server = try Socket(.inet, type: .stream, protocol: .tcp) // create server socket
try server.set(option: .reuseAddress, true) // set SO_REUSEADDR to 1
try server.bind(port: 8090, address: nil) // bind 'localhost:8090' address to the socket
try server.listen() // allow incoming connections

let client = try Socket(.inet, type: .stream, protocol: .tcp) // create client socket
try client.connect(port: 8090) // connect to localhost:8090

let clientAtServerside = try server.accept() // accept client connection
 
let helloBytes = ([UInt8])("Hello World".utf8)
try clientAtServerside.write(helloBytes) // sending bytes to the client
clientAtServerside.close()

var buffer = [UInt8](repeating: 0, count: helloBytes.count) // allocate buffer
let numberOfReadBytes = try client.read(&buffer, size: helloBytes.count)
print(numberOfReadBytes == helloBytes.count) // true
print(buffer == helloBytes) // true

client.close()
server.close()

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它

$ gem install cocoapods

使用 CocoaPods 将 Socket.swift 集成到您的 Xcode 项目中,请将其指定在您的 Podfile

source 'https://github.com/CocoaPods/Specs.git'
target '<Your Target Name>' do
pod 'Socket.swift', '~> 2.4.0'
end

然后,运行以下命令

$ pod install

Carthage

Carthage 是一个去中心化的依赖管理器,用于构建您的依赖并提供二进制框架。

您可以使用 Homebrew 安装 Carthage,以下命令

$ brew update
$ brew install carthage

使用 Carthage 将 Socket.swift 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "BiAtoms/Socket.swift" ~> 2.4.0

运行 carthage update 来构建框架,并将构建的 SocketSwift.framework 拖动到您的 Xcode 项目中。

Swift Package Manager

Swift Package Manager 是一个用于自动分发 Swift 代码的工具,集成了 swift 编译器。它目前处于早期开发阶段,但 Socket.swift 支持在受支持的平台上使用。

设置您的 Swift 包后,将 Socket.swift 添加为依赖项就像将其添加到您的 Package.swiftdependencies 值一样简单。

dependencies: [
    .package(url: "https://github.com/BiAtoms/Socket.swift.git", from: "2.4.0")
]

手动操作

只需将 Sources 文件夹中的文件拖放到当前目录。

作者

有关参与此项目的贡献者列表,请参阅 此处

许可证

本项目受MIT许可证的许可 - 请参阅LICENSE文件以了解详细信息