[英]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.