i broke it :)

This commit is contained in:
eskimo
2024-10-03 14:42:36 -04:00
parent 3280dfaa58
commit 49989b0e58
9 changed files with 279 additions and 63 deletions

View File

@@ -9,30 +9,21 @@ protocol SocketDelegate: AnyObject {
public class Socket: NSObject {
var id: String
var host: String
var port: Int
var useTLS: Bool
var acceptInvalidCertificates: Bool
var connection: NWConnection?
weak var delegate: SocketDelegate?
public init(id: String, host: String, port: Int, useTLS: Bool, acceptInvalidCertificates: Bool) {
public init(id: String) {
self.id = id
self.host = host
self.port = port
self.useTLS = useTLS
self.acceptInvalidCertificates = acceptInvalidCertificates
}
public func connect() {
public func connect(host: String, port: Int, useTLS: Bool, acceptInvalidCertificates: Bool) {
let parameters = NWParameters.tcp
if self.useTLS {
if useTLS {
let tls = NWProtocolTLS.Options()
if (self.acceptInvalidCertificates) {
if (acceptInvalidCertificates) {
sec_protocol_options_set_verify_block(tls.securityProtocolOptions, { (sec_protocol_metadata, sec_trust, sec_protocol_verify_complete) in
sec_protocol_verify_complete(true)
}, DispatchQueue.global())
@@ -41,7 +32,7 @@ public class Socket: NSObject {
parameters.defaultProtocolStack.applicationProtocols.insert(tls, at: 0)
}
let connection = NWConnection(host: NWEndpoint.Host(self.host), port: NWEndpoint.Port(String(self.port))!, using: parameters)
let connection = NWConnection(host: NWEndpoint.Host(host), port: NWEndpoint.Port(String(port))!, using: parameters)
connection.stateUpdateHandler = self.stateDidChange(to:)
self.receive(on: connection)
connection.start(queue: .main)