অ্যান্ড্রয়েডে কীভাবে এইচটিটিপি সার্ভার তৈরি করবেন? [বন্ধ]


116

আমি ক্লায়েন্টকে কিছু সামগ্রী সরবরাহ করার জন্য অ্যান্ড্রয়েডে একটি সাধারণ এইচটিটিপি সার্ভার তৈরি করতে চাই।

সার্ভার তৈরি করতে বা বিদ্যমান লাইব্রেরিটি কীভাবে ব্যবহার করবেন সে সম্পর্কে কোনও পরামর্শ?


আপনি যদি চান সমস্ত একটি ওয়েব সার্ভার, আপনি এই টিউটোরিয়ালটি পরীক্ষা করতে পারেন: devlper.com/2010/12/… এবং এর নমুনা: code.google.com/p/krvarma-android-sample/source/browse/… । তারা উভয়ই খুব পুরানো, কিন্তু কিছু টুইটের পরে এটি এখনও ঠিক কাজ করবে।
অ্যান্ড্রয়েড বিকাশকারী

উত্তর:


131

এটি বিবেচনা করুন: https://github.com/ NanoHttpd / nanohttpd । খুব ছোট, জাভা লেখা। আমি কোনও সমস্যা ছাড়াই এটি ব্যবহার করেছি।


অ্যামেজিং। সম্ভবত একমাস কাজের সাশ্রয় হয়েছে। আপনি এটি বাণিজ্যিক পণ্য ব্যবহার করতে পারেন?
ইভান জি

আপনার পরিবর্তিত BSD লাইসেন্স সম্পর্কে পড়া উচিত। যদি এটি বাণিজ্যিক পণ্যগুলিতে কোড ব্যবহার করার অনুমতি দেয় বা না দেয়।
দামালুয়ার

2
আমি এইচটিএমএল পৃষ্ঠায় চিত্র প্রদর্শন করতে পারে বলে মনে হয় না। চিত্রগুলি দেখানোর জন্য এইচটিএমএলটিতে কোন ডিরেক্টরি ব্যবহার করা উচিত? ধন্যবাদ।
শেন অলিভার

চিত্রগুলিতে পাথ হ'ল HTML পৃষ্ঠাটি আপেক্ষিক reg এটি HTTP সার্ভারের সমস্যা নয়, এটি খারাপ এইচটিএমএল ..
দামালুয়ার

আমি কি এমন একটি ফাইল পরিবেশন করতে পারি যা বর্তমানে হোমডিরের সাথে যুক্ত হচ্ছে? উদাহরণস্বরূপ, আমি হোমডায়ারে এফ 1 নামের একটি ফাইল অনুলিপি করছি (জাভাকোড ব্যবহার করে)। এখন ফাইলটি অনুলিপি করার প্রক্রিয়া চলছে এবং কেউ যদি F1 ফাইলের জন্য অনুরোধ প্রেরণ করে তবে সার্ভার কী অনুরোধটি প্রক্রিয়া করতে পারবে?
আশ্বিন এন ভানুশালী

23

ন্যানো এইচটিপিডি অ্যান্ড্রয়েডে কবজির মতো কাজ করে - আমাদের উত্পাদন করার কোড রয়েছে, ব্যবহারকারীর হাতে রয়েছে, এটি এতে নির্মিত।

লাইসেন্সটি সম্পূর্ণরূপে কোনও "ভাইরাল" প্রভাব ছাড়াই NanoHttpd এর বাণিজ্যিক ব্যবহারের অনুমতি দেয়।


1
কীভাবে এটি ব্যবহার করব তার টিউটোরিয়াল / নমুনা কোথায় পাব? উদাহরণস্বরূপ ডিভাইসে অবস্থিত কোনও ফাইল পরিবেশন করা, যাতে অন্যরা এটি ডাউনলোড করতে পারে (বা এটি থেকে প্রবাহিত)?
অ্যান্ড্রয়েড বিকাশকারী

9

এটি জাভাএসএর মতো সার্ভারসকেট ব্যবহার করে করা যেতে পারে । এই ক্লাসটি অ্যান্ড্রয়েডে উপলব্ধ। android.permission.INTERNETদরকার.

কেবলমাত্র আরও জটিল অংশ, আপনার সার্ভারসকেটে আলাদা থ্রেড অপেক্ষা করতে হবে, এটির acceptপদ্ধতি থেকে আসা সাব-সকেটগুলি পরিবেশন করছে । প্রয়োজন মতো আপনার এই থ্রেডটি থামাতে ও পুনরায় শুরু করতে হবে। সবচেয়ে সহজ পদ্ধতির থেকে মনে হচ্ছে সার্ভারসকেট বন্ধ করে অপেক্ষার থ্রেডটি মেরে ফেলা হবে। আপনার ক্রিয়াকলাপটি শীর্ষে থাকা অবস্থায় যদি আপনার কেবলমাত্র একটি সার্ভারের প্রয়োজন হয় তবে সার্ভারসকেট থ্রেডটি শুরু এবং বন্ধ করা ক্রিয়াকলাপের জীবনচক্রের পদ্ধতিগুলির সাথে মার্জিতভাবে বাঁধা যেতে পারে। এছাড়াও, যদি সার্ভারের একাধিক ব্যবহারকারী থাকে তবে কাঁটাযুক্ত থ্রেডগুলিতে পরিষেবা অনুরোধগুলি ভাল। যদি কেবল একজন ব্যবহারকারী থাকে তবে এটি প্রয়োজনীয় নাও হতে পারে।

আপনি যদি ব্যবহারকারীর যার উপর IP সার্ভার শুনছে বলতে চাই করেন, ব্যবহার NetworkInterface .getNetworkInterfaces (), এই প্রশ্নের অতিরিক্ত ঠাট বলতে পারে।

অবশেষে, এখানে সম্ভবত সম্পূর্ণ ন্যূনতম অ্যান্ড্রয়েড সার্ভার রয়েছে যা খুব স্বল্প, সহজ এবং সমাপ্ত ব্যবহারকারী অ্যাপ্লিকেশনগুলির চেয়ে অন্য উত্তরগুলিতে প্রস্তাবিতের চেয়ে বোঝা সহজ হতে পারে।


6

অন্য সার্ভারটি আপনি http://tjws.sf.net চেষ্টা করতে পারেন , এটি ইতিমধ্যে অ্যান্ড্রয়েড সক্ষম সংস্করণ সরবরাহ করে।


1
এটি অ্যান্ড্রয়েড স্ট্যান্ডার্ড (100 কেবি) দ্বারা চর্বিযুক্ত। আপনি যদি নিজের অ্যাপ্লিকেশনটিতে কেবল সরল ফাইল পরিবেশন বা একটি দূরবর্তী কনফিগারেশন / ডিবাগ / স্থিতি ইন্টারফেসের চেয়ে জাভাতে কোনও গুরুতর সার্ভার চান তবে ভাল।
আহকক্স


3

আপনি যদি কোটলিন ব্যবহার করছেন তবে এই গ্রন্থাগারটি বিবেচনা করুন। এটি কোটলিন ভাষার জন্য তৈরি। https://github.com/weeChanc/AndroidHttpServer https://github.com/ktorio/ktor

অ্যান্ড্রয়েড এইচটিপি সার্ভারটি খুব ছোট, তবে বৈশিষ্ট্যটিও কম।

Ktor একটি খুব ভাল গ্রন্থাগার, এবং ব্যবহার খুব সহজ

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