2013-08-20 49 views
39

Tôi đang phát triển một ứng dụng và những gì tôi nghĩ mình muốn làm là nhận dữ liệu từ cơ sở dữ liệu máy chủ trong Android. Vì vậy, tôi bắt đầu chạy một số hướng dẫn. Tôi tìm thấy một trong đó là làm khá nhiều những gì tôi muốn. Nhưng tôi nhận được:kết nối không thành công: ECONNREFUSED

detailMessage "failed to connect to localhost/127.0.0.1 (port 8080): connect failed: ECONNREFUSED (Connection refused)" (id=830021648792) 

Tổng số các quy tắc hướng dẫn này là ở đây link

Lỗi xảy ra vào lúc:

OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());

Tôi đã kiểm tra rằng:

  • tường lửa là bị vô hiệu hóa
  • ping đang làm việc
  • kết nối chuỗi là chính xác giống như khi tôi chạy servlet từ giao diện admin server - http://localhost:8080/Requestor/RQSRV -the servlet đang chạy

cấu hình của tôi:

  • Server: Glass Cá 4.0
  • Ứng dụng Android - Được phát triển trong Eclipse
  • Servlet - Được phát triển trong NetBeans
+0

Có điều gì khác đang nghe trên cổng 8080 không? Đầu ra 'netstat -a -' cho cổng 8080 là gì? –

+0

có, có một số apss linstening trên cổng đó –

+0

@AnthonyForloney 'Một cái gì đó khác nghe' sẽ không gây ra ECONNREFUSED. Điều đó có nghĩa là * không có gì * đang nghe hoặc quy tắc tường lửa. – EJP

Trả lời

120

Để truy cập máy tính cục bộ của bạn từ trình giả lập Android, hãy sử dụng 10.0.2.2 thay vì 127.0.0.1. localhost hoặc 127.0.0.1 đề cập đến chính thiết bị mô phỏng, không phải là trình mô phỏng mà máy chủ đang chạy.

tham khảo: http://developer.android.com/tools/devices/emulator.html#networkaddresses

Đối Genymotion sử dụng: 10.0.3.2 thay vì 10.0.2.2

+10

Bạn là anh hùng của tôi. – Dave

+1

@Laalto bạn có thể cho tôi biết nơi để thay đổi địa chỉ của tôi thành 10.0.2.2 trong mã số – AndroidOptimist

+1

@Laalto đồng ý với Dave, bạn là một anh hùng – riza

-1

nếu bạn đang sử dụng genymotion sau đó đi đến command prompt gõ ipconfig -find cho Ethernet Adapter VirtualBox mạng chỉ dành cho máy chủ: -find cho Địa chỉ Ipv4 .............. 192.1 **. **. * sao chép

http://192.1.. */Tên thư mục/tên file/filename.json hoặc filename.php

để kiểm tra xem làm việc của nó vào trình duyệt trong bản sao giả lập dán url bạn nên tìm các tập tin mà bạn đang tìm kiếm trong trình duyệt của bạn ..

Xin lỗi vì tiếng Anh .. Điều này làm việc cho tôi hy vọng điều này có thể giúp ích cho một số .. Cảm ơn u ..