0
シンプルなソケットサーバーです。別のクラスから呼び出された場合、CocoaAsyncSocketサーバーは起動しません
クラスを削除してserverSocket
という変数を入れてクラス内のstartSocketServer
クラスの機能を使用すると、ソケットサーバーがリスニングを開始します。
私はlsof -i :6000
コマンドでソケットがリッスンを開始したかどうかを確認します。
何が間違っていますか?
import UIKit
import CocoaAsyncSocket
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let server = Socket()
server.startSocketServer()
}
}
class Socket: NSObject, GCDAsyncSocketDelegate {
var serverSocket = GCDAsyncSocket()
/// Staring socket server
func startSocketServer() {
self.serverSocket = GCDAsyncSocket(delegate: self, delegateQueue: dispatch_get_main_queue())
do {
try serverSocket.acceptOnInterface(nil, port: 6000)
} catch {
print("Port access failed")
}
}
}