3

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

4

2 に答える 2

2

getStreamsToHost を getStreamsToHostWithName に変更します

変化する:

NSStream.getStreamsToHost(host, port: port, inputStream: &inp, outputStream: &out)

NSStream.getStreamsToHostWithName(addr, port: port, inputStream: &inp, outputStream: &out)
于 2014-11-17T14:52:23.317 に答える
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
于 2016-05-02T05:49:34.120 に答える