ios – Alamofire http请求到本地网络服务器

ios – Alamofire http请求到本地网络服务器,第1张

概述我正在开发一个iPhone应用程序,计划是每隔一段时间从应用程序向本地网络服务器发送一个 JSON数据包.为此,我计划使用 Alamofire.我的POST方法如下所示: Alamofire.request(Alamofire.Method.POST, "http://XXX.XX.X.XX:3000/update", parameters: dictPoints, encoding: .JSON 我正在开发一个iPhone应用程序,计划是每隔一段时间从应用程序向本地网络服务器发送一个 JSON数据包.为此,我计划使用 Alamofire.我的POST方法如下所示:

Alamofire.request(Alamofire.Method.POST,"http://XXX.XX.X.XX:3000/update",parameters: dictPoints,enCoding: .JsON)    .responseJsON {(request,response,JsON,error) in    println(JsON)}

IP地址已标记出来,但我已确保这对应于本地服务器的IPv4无线地址.服务器设置为侦听端口3000.服务器配置如下所示:

var express = require('express');var app = express();var mongoose = require('mongoose');mongoose.connect('mongodb://localhost/test');var db = mongoose.connection;db.on('error',console.error.bind(console,'connection error:'));db.once('open',function (callback) {  console.log("MongoDB connection is open.");});// Mongoose Schema deFinitionvar Schema = mongoose.Schema;var LocationSchema = new Schema({    //some schema here});// Mongoose Model deFinitionvar LocationsCollection = mongoose.model('locations',LocationSchema);// URL managementapp.get('/',function (req,res) {    res.sendfile(__dirname + '/index.HTML');});app.get('/update',res) {    console.log("Got something from the phone!");});// Start the servervar server = app.Listen(3000,function () {  var host = server.address().address  var port = server.address().port  console.log('App Listening at %s:%s',host,port)})

所以,这台服务器似乎工作正常.我可以在浏览器中测试它并输入URL:http://127.0.0.1:3000,它将为我提供index.HTML文件.如果我输入http://127.0.0.1:3000/update …那么我得到“从电话里得到的东西!”信息.但是,当我运行我的应用程序(确保我的手机与服务器在同一个无线网络上)并且Alamofire方法被调用时……我得到的响应为零.我也没有看到“从电话里得到的东西!”信息.任何人都可以让我知道为什么会发生这种情况……或者更好的是,如何解决这个问题?

解决方法 一些想法:

>您正在Alamofire中创建POST请求,但您已告知Express处理GET请求/更新.如果要将其作为POST处理,请使用app.post(…).
>您的Alamofire代码正在寻找JsON响应,但您似乎没有创建JsON响应.在短期内,您可以使用responseString而不是responseJsON,但我认为您确实希望更改您的Web服务以使用JsON进行响应(以使应用程序更容易解析响应).
>您的Alamofire代码发送JsON请求(但很明显,当您通过Web浏览器发送请求时,它不是JsON).您确定要发送JsON请求吗? (这不应与JsON响应问题混淆.)您是否要使用.URL编码类型参数,而不是.JsON?
>只要您的请求在Web浏览器中正常运行,而不是从应用程序运行,使用Charles之类的工具观察两者都很有用,然后您可以比较它们的不同之处并诊断不同行为的来源.

总结

以上是内存溢出为你收集整理的ios – Alamofire http请求到本地网络服务器全部内容,希望文章能够帮你解决ios – Alamofire http请求到本地网络服务器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1073910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存