簡體   English   中英

在Swift中通過TCP發送消息

[英]Sending Message Over TCP in Swift

我正在使用帶有以下代碼的swift套接字庫:

let client:TCPClient = TCPClient(addr: "127.0.0.1", port: 8080)
var (success,errmsg)=client.connect(timeout: 1)
if success{
    var (success,errmsg)=client.send(str:"|~\0" )
    if success{
        let data=client.read(1024*10)
        if let d=data{
            if let str=String(bytes: d, encoding: NSUTF8StringEncoding){
                print(str)
            }
        }
    }else{
        print(errmsg)
    }
}else{
    print(errmsg)
}

該代碼很好用,但是我的問題是,僅當模擬器不在真實的iphone(我的iphone)上,而是僅在其模擬器上時,連接才能成功。 我不知道該怎么解決,這是什么問題。 當我打印errmsg時,它顯示我:“連接超時”。

您可以嘗試將主機IP設置為計算機的IP嗎?

let client:TCPClient = TCPClient(addr: "your computer ip", port: 8080)

我猜它可以在模擬器上運行,因為模擬器與您的真實計算機共享網絡,因此,在從外部(例如您的電話)進行連接的情況下,我認為您應該嘗試用運行服務器的計算機的IP替換localhost ip。

還有一件事是您的服務器可能是本地服務器,因此請確保它和電話在同一網絡中連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM