繁体   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