【问题标题】:Connecting to localhost server(python) using Alamofire使用 Alamofire 连接到本地主机服务器(python)
【发布时间】:2021-01-07 01:51:17
【问题描述】:

所以我试图通过简单的 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) 的连接。 当我用模拟器设备连接到那里的服务器时,它成功(网址是 - 127.0.0.1:1234),但是当我尝试从真实设备连接时它失败并且我收到此错误:代码=-1004“无法连接到服务器。”

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

【问题讨论】:

  • 你遇到了什么 alamofire 错误?
  • @EricHua Code=-1004 "无法连接到服务器。"

标签: python ios swift server localhost


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    https://github.com/daltoniam/Starscream

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      • 1970-01-01
      • 1970-01-01
      • 2012-05-25
      • 2011-06-05
      • 2011-09-08
      相关资源
      最近更新 更多