未调用Swift 4 StreamDelegate
我一直在努力与我的服务器建立连接,并已使其连接。但是,未调用流委托。我正在将流委托设置为self,尝试使用.schedule、.unrepainedvalue和.retainedvalue、.casted和notcasted来处理.schedule、。。这是我的乐趣未调用Swift 4 StreamDelegate,swift,inputstream,gamekit,Swift,Inputstream,Gamekit,我一直在努力与我的服务器建立连接,并已使其连接。但是,未调用流委托。我正在将流委托设置为self,尝试使用.schedule、.unrepainedvalue和.retainedvalue、.casted和notcasted来处理.schedule、。。这是我的乐趣 var inputOpened = false var outputOpened = false var state: NetworkState? var inputStream: InputStream! var outputSt
var inputOpened = false
var outputOpened = false
var state: NetworkState?
var inputStream: InputStream!
var outputStream: OutputStream!
func connect() {
state = NetworkState.NetworkStateConnectingToServer
var readStream: Unmanaged<CFReadStream>?
var writeStream: Unmanaged<CFWriteStream>?
CFStreamCreatePairWithSocketToHost(nil, "192.168.1.4" as CFString, 1955, &readStream, &writeStream)
inputStream = readStream?.takeRetainedValue() as! InputStream!
outputStream = writeStream?.takeUnretainedValue() as! OutputStream!
inputStream.delegate = self
outputStream.delegate = self
inputStream.schedule(in: RunLoop.current, forMode: RunLoopMode.defaultRunLoopMode)
outputStream.schedule(in: RunLoop.current, forMode: RunLoopMode.defaultRunLoopMode)
inputStream.open()
outputStream.open()
}
func stream(_ aStream: Stream, handle eventCode: Stream.Event) {
print("ran")
DispatchQueue.main.async(execute: {
if aStream == self.inputStream {
self.inputStreamHandle(eventCode)
}
else if aStream == self.outputStream {
self.outputStreamHandle(eventCode)
}
})
}