小编sgi*_*ira的帖子

Swift iOS和Java套接字之间的TCP通信

我正在尝试在我的Java应用程序和相对(正在进行中的)iOS应用程序之间建立通信.打开套接字后,iOS应用程序(客户端)将"握手"字符串写入流,然后等待读取流(我认为).当代Java应用程序(服务器,在iOS应用程序之前启动)成功打开套接字并等待BufferedReader读取"握手",此时两个应用程序都被阻止.我不明白它是怎么可能的?

按照iOS代码的一部分:

public class Client: NSObject, NSStreamDelegate  {

var serverAddress: CFString
let serverPort: UInt32 = 50000

private var inputStream: NSInputStream!
private var outputStream: NSOutputStream!
private var connecting:Bool

init(ip:String) {
    serverAddress = ip
    connecting = false

    super.init()

    connect()
}

func connect() {
    connecting = true

    while connecting {
        print("connecting...")

        var readStream:  Unmanaged<CFReadStream>?
        var writeStream: Unmanaged<CFWriteStream>?

        CFStreamCreatePairWithSocketToHost(nil, self.serverAddress, self.serverPort, &readStream, &writeStream)

        // Documentation suggests readStream and writeStream can be assumed to
        // be non-nil. If you believe otherwise, you can test if …
Run Code Online (Sandbox Code Playgroud)

sockets xcode ios swift

7
推荐指数
1
解决办法
3271
查看次数

标签 统计

ios ×1

sockets ×1

swift ×1

xcode ×1