java.net.ConnectException: লোকালহোস্ট / 127.0.0.1: 8080 - সংযোগ অস্বীকার করেছে


98

আমি আমার মেশিন থেকে অ্যাপ্লিকেশনটিতে সংস্থানগুলি সরবরাহ করতে এক্সএএমএপ্পি অ্যাপাচি সার্ভারটি ব্যবহার করছি। তবে আমি উপরের ত্রুটিটি পাচ্ছি।

আমি গুগলে কিছু পেয়েছি। এখানে সম্ভাব্য সমাধানের দিকে ইঙ্গিত করে http://groups.google.com/group/android-beginners/browse_thread/thread/599a06416fb37b4a

উপরের সমস্যার সমাধান কী?


4
আপনার লোকালহোস্টে (127.0.0.1) 10.0.2.2 লুপব্যাক ব্যবহার করুন। আপনি এখানে এ সম্পর্কে আরও পড়তে পারেন অ্যান্ড্রয়েড এমুলেটর নেটওয়ার্কিং
Dmytro Melnychuk

উত্তর:


294

যেহেতু আপনি নির্দিষ্ট করেননি আপনি ডিভাইস বা এমুলেটর থেকে কোনও সার্ভারের সাথে সংযুক্ত আছেন তাই আমার ধারণা আপনি এমুলেটরটিতে আপনার অ্যাপ্লিকেশনটি ব্যবহার করছেন।

আপনি যদি অ্যান্ড্রয়েড এমুলেটর থেকে আপনার সিস্টেমে আপনার লোকালহোস্টটি উল্লেখ করছেন তবে আপনাকে ব্যবহার করতে হবে http://10.0.2.2:8080/কারণ অ্যান্ড্রয়েড এমুলেটর একটি ভার্চুয়াল মেশিনে চলে তাই এখানে 127.0.0.1বা localhostএমুলেটরটির নিজস্ব লুপব্যাক ঠিকানা হবে।

তথ্যসূত্র: এমুলেটর নেটওয়ার্কিং


হ্যাঁ, ঠিক আমি একই জিনিস করছি। আপনি কি বিস্তারিত ব্যাখ্যা করতে পারেন? আইপি ঠিকানাটি কোথায় 10.0.2.2 এ পরিবর্তন করবেন। এই ফোল্ডারটি আমি xampp সার্ভার লোকালহোস্ট
প্রদীপ

4
আমি বুঝেছি, আমরা পথ মত আবেদন দেওয়া chane আছে HTTP: // স্থানীয় হোস্ট: 8080 / লিঙ্ক / থেকে / resource.xml করার http://10.0.2.2:8080/link/to/resource.xml
প্রদীপ

@ ভিকাসপাতিদার আপনি দয়া করে আমাকে বলতে পারেন যে আমার ঠিকানাতে এই ঠিকানাটি 10.0.2.2 এ কোথায় পরিবর্তন করবেন আমি একজন নবাগত হিসাবে
AndroidOptimist

4
উদাহরণস্বরূপ যদি আপনার ইউআরএলটি পছন্দ হয় http://localhost:8080/Getdata.phpবা http://127.0.0.1:8080/Getdata.phpতারপরে আপনাকে এটি ব্যবহার হিসাবে পরিবর্তন করতে হবেhttp://10.0.2.2:8080/Getdata.php
বিকাশ পাতিদার

4
প্রতিস্থাপন 10.0.2.2সঙ্গে 10.0.3.2আপনি Genymotion উপর দৌড়াচ্ছে।
জ্যাকব আর


19

লোকালহোস্ট এবং 127.0.0.1 উভয়ই 'বর্তমান মেশিন' বলার উপায়। সুতরাং আপনার পিসিতে লোকালহোস্ট হ'ল পিসি এবং অ্যান্ড্রয়েডের লোকালহোস্টটি ফোন। যেহেতু আপনার ফোনটি অবশ্যই কোনও ওয়েবসারভার চালাচ্ছে না এটি সংযোগটি অস্বীকার করবে।

আপনাকে আপনার মেশিনের আইপি ঠিকানা (উইন্ডোগুলিতে আইকনফিগ ব্যবহার করতে) এবং এটি 127.0.0.1 এর পরিবর্তে ব্যবহার করতে হবে। আপনার নেটওয়ার্ক / ফায়ারওয়ালগুলি কীভাবে সেট আপ হয় তার উপর নির্ভর করে এটি এখনও কাজ করছে না। তবে এটি সম্পূর্ণ ভিন্ন বিষয়।


তোমার দর্শন লগ করা ব্যাখ্যা করতে পারে বিস্তারিত আরও, আমার মেশিন chane IP ঠিকানার প্রয়োজন
প্রদীপ

4
আপনি আইপকনফিগ টাইপ করলে এটি আপনাকে আপনার মেশিনের আইপি ঠিকানা বলে দেবে। এটি সম্ভবত আপনার নেটওয়ার্কের জন্য একটি ব্যক্তিগত আইপি ঠিকানা তাই এটি কেবলমাত্র একই নেটওয়ার্কে থাকা ডিভাইসগুলি থেকে অ্যাক্সেসযোগ্য হবে তাই ডাব্লু ওয়াইফাই সম্ভবত কাজ করবে, 3 জি সম্ভবত অভ্যাস করবে না।
skorulis

@ এসকরুলিস হ্যাঁ আমাদের আমাদের মেশিনের ইউআরএল সেট করা দরকার যা 127.0.0.1 থেকে আলাদা কারণ আমরা আমাদের অ্যাপ্লিকেশন কোডটিতে নেটওয়ার্কগুলির সাথে সংযুক্ত রয়েছি।
রবি যাদব

আপনি আপনার কম্পিউটারের জন্য একটি নির্দিষ্ট আইপি সেট করতে পারেন যার উপর সার্ভার চলছে running আপনার অ্যান্ড্রয়েড অ্যাপে এই আইপিটি ব্যবহার করুন। এটি আরও ভাল কারণ আপনি যদি আপনার রাউটার বা কম্পিউটার পুনরায় চালু করেন তবে আপনি প্রায়শই কম্পিউটারের জন্য একটি নতুন আইপি পাবেন এবং আপনি আপনার কোডটিতে এটি পরিবর্তন করতে পারেন।
DOUBL3P

12
  1. Androidmanifest.xML ফাইলে ইন্টারনেটের অনুমতি যুক্ত করুন file

ব্যবহার-অনুমতি অ্যান্ড্রয়েড: নাম = "android.permission.INTERNET

  1. উইন্ডোতে সেন্টিমিডি খুলুন
  2. "ipconfig" টাইপ করুন তারপরে এন্টার টিপুন
  3. IPv4 ঠিকানা সন্ধান করুন। । । । । । । । । । । : 192.168.XX
  4. এই URL টি ব্যবহার করুন " http: //192.168.XX: your_virtual_server_port / your_service.php "

ধন্যবাদ, এটি NOX এমুলেটর এবং জ্যাম্পের জন্য কাজ করে।
মিসম মেহমাননাজ

9

আপনাকে কেবল আপনার স্থানীয় (তবে আসল) আইপি ঠিকানা এবং পোর্ট নম্বরটি ব্যবহার করতে হবে:

String webServiceUrl = "http://192.168.X.X:your_virtual_server_port/your_service.php"

এবং আপনি ম্যানিফেস্টের মধ্যে ইন্টারনেটের অনুমতি সেট করেছেন তা নিশ্চিত করুন

<uses-permission android:name="android.permission.INTERNET" />


5

আপনি যদি আপনার ইউআরএলে লোকালহোস্ট ব্যবহার করছেন এবং এমুলেটরটিতে আপনার অ্যাপ্লিকেশন পরীক্ষা করছেন, কেবলমাত্র আপনি URL- এ লোকালহোস্টের জন্য সিস্টেমের আইপি ঠিকানাটি প্রতিস্থাপন করতে পারেন local

http: //localhost/webservice.php to http://10.218.28.19/webservice.php

যেখানে 10.218.28.19 -> সিস্টেমের আইপি ঠিকানা।

বা

http: //localhost/webservice.php to http://10.0.2.2/webservice.php


4

আপনাকে কেবলমাত্র আপনার স্থানীয় আইপি ঠিকানাটি ব্যবহার করতে হবে: cmd কমান্ড "ipconfig" এবং আপনার সার্ভার পোর্ট নম্বরটি ব্যবহার করে:

স্ট্রিং ওয়েব সার্ভিস ইউআরএল = " http: //192.168.XX: আপনার_লোকাল_সার্ভার_পোর্ট / আপনার_উইব_সার্ভিস_নাম.এফপি "

এবং আপনার প্রকল্পের ম্যানিফেস্টে আপনি ইন্টারনেট অনুমতি সেট করেছেন তা নিশ্চিত করুন

এটা আমার জন্য নিখুঁতভাবে কাজ করছে

শুভকামনা


3

এটা আমার জন্য কাজ করে। আমি রান অ্যাপের জন্য জিনমোশন ব্যবহার করি।

1. প্রথমত আমার স্থানীয় আইপি পরীক্ষা করা হয়েছিল। geto কমান্ড মোড >> এবং ipconfig লিখুন। উদাহরণ: উইন্ডোজ 10 >> অনুসন্ধানের সিএমডি >> তারপরে আইকনফিগ লিখুন। ২. তারপরে আপনার স্থানীয় আইপি তথ্য পাবেন >>> ৩. আপনার লোকালহোস্ট আইপি এবং ভার্চুয়াল বক্স আইপি দিন। জেনিমোশনটির জন্য আপনার ভার্চুয়াল বক্স আইপি ব্যবহার করতে হবে screen স্ক্রিনশটের নীচে চেক করুন। আপনি ভার্চুয়ালবক্স হোস্ট নেটওয়ার্কের অধীনে যে কোনও আইপি নীচে করতে পারেন এখানে চিত্র বর্ণনা লিখুন


2

লোকালহোস্টকে 10.0.2.2 দিয়ে প্রতিস্থাপন করা সঠিক, তবে আপনি আপনার শারীরিক মেশিনের আইপি দিয়ে লোকালহোস্ট প্রতিস্থাপন করতে পারেন (এটি ডিবাগের উদ্দেশ্যে ভাল)। অবশ্যই, আইপি যদি ডিএইচসিপি সরবরাহ করে তবে আপনাকে প্রতিবার এটি পরিবর্তন করতে হবে ...

শুভকামনা!


0

সমাধান খুব সহজ।

1 Androidmanifest.xML ফাইলে ইন্টারনেটের অনুমতি যুক্ত করুন

<uses-permission android:name="android.permission.INTERNET" />

[2] আপনার httpd.config ফাইলটি পরিবর্তন করুন

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

TO

Order Deny,Allow
Allow from all
Allow from 127.0.0.1

And restart your server.

[3] এবং সবচেয়ে দুর্বল পদক্ষেপ। আপনার নেটওয়ার্ককে আপনার হোম নেটওয়ার্ক হিসাবে তৈরি করুন

কন্ট্রোল প্যানেল> নেটওয়ার্ক এবং ইন্টারনেট> নেটওয়ার্ক এবং ভাগ করে নেওয়া কেন্দ্রে যান

Click on your Network and select HOME NETWORK

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.