【问题标题】:Connect Android to Nodejs将 Android 连接到 Nodejs
【发布时间】:2020-12-02 17:04:52
【问题描述】:

我正在尝试连接 nodejs 后端和 android 前端。我用nodejs写了3000端口的api,用android调用服务器端api,但是总是连接不上服务器,现在该怎么办。请帮帮我!!!!!!

这是客户端(Android)

package com.hieunguyen.souq.utils;
public class Constant {
public static String LOCALHOST = "http://localhost:3000/";
public static String PRODUCT = "product";
public static String ORDER = "order";
public static final int PICK_IMAGE = 88;
public static final int GALLERY_REQUEST = 100;
public static final int READ_EXTERNAL_STORAGE_CODE = 200;
public static final int CAMERA_REQUEST = 300;
public static final int CAMERA_PERMISSION_CODE = 400;
public static String PRODUCT_ID = "ProductId";
public static String CATEGORY = "Category";
public static String EMAIL = "email";
public static String OTP = "otp";
public static String PRODUCTID = "Product_id";
public static String KEYWORD = "keyword";
}

这是服务器(Nodejs)

const express = require('express')
const bodyParser = require('body-parser')
require('dotenv').config();
const app = express()
app.use('/storage_user', express.static('storage_user'));
app.use('/storage_product', express.static('storage_product'));
app.use('/storage_poster', express.static('storage_poster'));
const userRouter = require('./api/routes/users')
const productRouter = require('./api/routes/products')
const favoriteRouter = require('./api/routes/favorites')
const cartRouter = require('./api/routes/carts')
const historyRouter = require('./api/routes/history')
const reviewRouter = require('./api/routes/review')
const posterRouter = require('./api/routes/posters')
const addressRouter = require('./api/routes/address')
const orderRouter = require('./api/routes/orders')
const port = 3000
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
app.use('/users', userRouter)
app.use('/products', productRouter)
app.use('/favorites', favoriteRouter)
app.use('/carts', cartRouter)
app.use('/history', historyRouter)
app.use('/review', reviewRouter)
app.use('/posters', posterRouter)
app.use('/address', addressRouter)
app.use('/orders', orderRouter)
app.listen(port, () => console.log("Server đã khởi động!"))

当我运行服务器并在邮递员上测试时可以(本地主机:3000/) 但是当我在客户端上运行时,总是错误无法连接到服务器中的 localhost:3000/ :((((。我不知道如何解决这个问题!!!!。请帮助我!!!!对不起,我的英语不是不错

【问题讨论】:

  • 请将所有相关代码以文字形式放入问题中,请勿使用图片链接。
  • 哦!抱歉@Henry 我修复了这个帖子!!!请帮帮我!
  • 当您在安卓设备(或任何其他计算机)上使用localhost 时,这是指设备本身。使用您的服务器在网络中已知的 IP 地址(或名称)。

标签: android node.js


【解决方案1】:

我认为可能发生了两件事。 首先,localhost 当前正在您的本地计算机上运行,​​您需要在路由器上配置port forwarding 才能在本地网络中访问。 其次,您可能需要启用CORS,因为您的前端和后端不在同一个域中托管。

【讨论】:

  • 那我现在该怎么办,你能说清楚一点吗?非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-06
  • 2019-02-20
  • 2021-06-25
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
  • 2013-05-26
相关资源
最近更新 更多