我试图在Swift for iOS中创建套接字服务器应用程序。我找到了这个很好的例子:
let addr = "127.0.0.1"
let port = 4000
var host :NSHost = NSHost(address: addr)
var inp :NSInputStream?
var out :NSOutputStream?
NSStream.getStreamsToHost(host, port: port, inputStream: &inp, outputStream: &out)
let inputStream = inp!
let outputStream = out!
inputStream.open()
outputStream.open()
var readByte :UInt8 = 0
while inputStream.hasBytesAvailable {
inputStream.read(&readByte, maxLength: 1)
}
// buffer is a UInt8 array containing bytes of the string "Jonathan Yaniv.".
outputStream.write("Hello", maxLength: "Hello".length)
我试图在XCode中运行代码,它说NSHost并不存在。我用Google搜索,发现NSHost无法用于iOS。我可以用什么呢?
我现在正在使用Cocoa Async Socket进行套接字连接。你可以在CocoaAsyncScket
找到它答案 0 :(得分:2)
将getStreamsToHost更改为getStreamsToHostWithName
更改:强>
NSStream.getStreamsToHost(host, port: port, inputStream: &inp, outputStream: &out)
以强>
NSStream.getStreamsToHostWithName(addr, port: port, inputStream: &inp, outputStream: &out)
答案 1 :(得分:0)
var server = "127.0.0.1"
var port = 4000
//var host :NSHost = NSHost(address: server)
var inp :NSInputStream?
var out :NSOutputStream?
NSStream.getStreamsToHostWithName(server, port: port, inputStream: &inp, outputStream: &out)
let inputStream = inp!
let outputStream = out!
inputStream.open()
defer {
inputStream.close()
}
outputStream.open()
defer {
outputStream.close()
}
// do stuff here