使用Alamofire连接到本地主机服务器(python)

时间:2020-09-20 22:35:32

标签: python ios swift server localhost

所以我试图通过简单的Almofire网络调用连接到我在python(noob)中编写的服务器端。

python代码是这样的:

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 1234))
s.listen(5)

while True:
# now our endpoint knows about the OTHER endpoint.
clientsocket, address = s.accept()
print(f"Connection from {address} has been established.")

迅捷是这样的:

   func preformCall( success: @escaping () -> Void, failure: @escaping () -> Void) {
    
     let url = "http://{my ip}:1234/"
     Alamofire.request(url, method: .get).responseJSON { (response) in
        if response.result.isFailure {
            failure()
        }
        
        if let data = response.data {
            let response = Response.init(data: data)

        }
    }
}

我的IP-网络偏好设置中的IP(Mac) 我也连接到同一个wifi。

如果我使用相同的地址访问浏览器,则会在服务器端(终端)获得该地址: 已建立来自('127.0.0.1',52084)的连接。 当我用模拟器设备连接到那里服务器时,它成功了(URL为-127.0.0.1:1234),但是当我尝试从真实设备连接时它失败了,并且出现此错误:Code = -1004“无法连接到服务器。”

如何测试来自真实设备和localhost服务器的连接?

2 个答案:

答案 0 :(得分:0)

所以答案是听这个地址:0.0.0.0

     s.bind(("0.0.0.0", 1234))

0.0。 0.0表示本地计算机上的所有IPv4地址

答案 1 :(得分:0)

似乎您正在午餐休息,而不是通过套接字连接到服务器。我不认为alamoFire可以处理套接字。试试这个。

https://github.com/daltoniam/Starscream