2016-07-11 13 views
10

मैं/एकाधिक ग्राहकों कि लैन और उपयोग पर एक सर्वर से कनेक्ट है सर्वर में MySQL डाटाबेस को संशोधित करना चाहते का उपयोग किए बिना लैन से अधिक mySQL डेटाबेस से कनेक्ट करें।एंड्रॉयड - एक वेबसर्वर

कैसे मैं यह कर के बारे में जाना होगा? तुम लोग कुछ संसाधनों/लिंक है कि मैं विषय

+0

JDBC व्यवस्था है जिसके द्वारा जावा क्षुधा रिलेशनल डेटाबेस से कनेक्ट है। हो सकता है कि आप एकाधिक उपयोगकर्ताओं को सीधे डेटाबेस से कनेक्ट नहीं करना चाहते हैं। – duffymo

+0

डेटाबेस से कनेक्ट होने वाले एकाधिक उपयोगकर्ताओं के साथ समस्या क्या है? क्या यह एक सुरक्षा मुद्दा है? – user6535530

+0

जटिलता और सुरक्षा, हां। आपको डेटाबेस पोर्ट को सार्वजनिक इंटरनेट पर बेनकाब करना होगा। कोई भी इसे देख पाएगा। – duffymo

उत्तर

1

लंबे समय में पर अनुसंधान कर सकता है प्रदान कर सकते हैं, तो आप वास्तव में "उन" और डेटाबेस के बीच एक "ग्राहक" आवेदन की जरूरत है। यह आमतौर पर एक वेबसर्वर, प्लस PHP/Java/VB/के माध्यम से किया जाता है .... हां, इसके लिए आपको एक और भाषा सीखनी है, लेकिन यह गंभीर अनुप्रयोग से बचने के लिए कुछ नहीं है।

ग्राहक सुरक्षा के साथ मदद कर सकता है (और चोट पहुंचा सकता है)। ग्राहक डेटाबेस परिवर्तनों से उपयोगकर्ताओं को इन्सुलेट कर सकता है, जो अंत में होगा। ग्राहक को डीबी को इंटरफेस 'अमूर्त' होना चाहिए ताकि उपयोगकर्ताओं को एसक्यूएल-समझदार होना पड़े। आदि

+0

पर करता है यदि आप थोड़ी अधिक जानकारी में जा सकते हैं तो यह सहायक होगा। – BRHSM

7

आपके प्रश्न का उत्तर लेने के लिए Android स्टूडियो में एक जार फ़ाइल के रूप में अपनी परियोजना के लिए JDBC ड्राइवर को जोड़कर एक mysql डेटाबेस से कनेक्ट करने के लिए सक्षम होना चाहिए।

अब जब कि तुम वितरित उपयोगकर्ताओं के हजारों करने के लिए करने की योजना एक असली अनुप्रयोग के लिए वहाँ सुरक्षा मुद्दों, प्रदर्शन के मुद्दों, और अनुमापकता मुद्दे हैं।

सुरक्षा मुद्दे:

  1. आप अपने डेटाबेस सीधे इंटरनेट से कनेक्ट करने के लिए क्षुधा के लिए सार्वजनिक उपयोग करने के लिए अपने बंदरगाह खोलने के द्वारा बेनकाब। इंट्रानेट के अंदर डेटाबेस पहुंच को रखते हुए, एक वेब ऐप मध्य में एक परत जोड़ता है।

  2. आप सबके द्वारा ज्ञात कम से कम एक सार्वजनिक खाता प्रदान करके जनता को अपने डेटा का खुलासा करते हैं (मुझे लगता है कि यह एक्सेस करने का तरीका होगा क्योंकि प्रति उपयोगकर्ता एक खाता प्रबंधित करना यथार्थवादी नहीं होगा)। एक वेब ऐप डेटाबेस खाते से उपयोगकर्ता खाते को अलग करता है।

  3. , इस तरह से पहुँच प्रदान करने के रूप एंड्रॉयड मोबाइल उपकरणों जड़ें जा सकता है, आप संभवतः अपने डेटा के लिए अनाम पहुंच प्रदान कर रहे हैं।

प्रदर्शन मुद्दे:

  1. बीच में एक वेब एप्लिकेशन के साथ

    , यह webapp जो डेटाबेस के लिए कनेक्शन प्रबंध करती है। यह अलग-अलग उपयोगकर्ताओं के बीच कनेक्शन साझा करने में सक्षम बनाता है। प्रति उपयोगकर्ता एक समर्पित कनेक्शन होगा यदि विभिन्न डिवाइस अलग कनेक्शन का अनुमान लगाते हैं।

  2. इसी कारण से, आप कनेक्शन पूलिंग, का लाभ नहीं उठा सकते हैं जो प्रत्येक आने वाले अनुरोध के लिए डेटाबेस से कनेक्शन स्थापित करने के ओवरहेड को बचाता है।

अनुमापकता मुद्दों:

  1. कनेक्शन साझा नहीं कर रहे हैं समवर्ती उपयोगकर्ताओं की संख्या आप डेटाबेस के लिए एक ही समय में खोल सकते हैं कनेक्शन की संख्या के लिए बाध्य होंगे।

संपादित करें 1

मैं एक वैकल्पिक मैं जो एक वेब अनुप्रयोग का इस्तेमाल किया जाता के बारे में सोचा द्वारा जोड़ा जा रहा है लेकिन यह एक वेब सर्वर का उपयोग कर लागू नहीं है। यह एक जावा एनआईओ ढांचा है जो स्वयं ही चलता है। इस समाधान की सीमाओं के लिए आपको सर्वर और जावा तक खोल पहुंच की आवश्यकता है, जो परंपरागत होस्टिंग में आम नहीं है। चेकआउट Netty

5

आपके कार्य को करने के तरीके 2 तरीके हैं। आप या तो एंड्रॉइड स्टूडियो में जेडीबीसी ड्राइवर जोड़ सकते हैं, या एक बेहतर एपीआई लागू कर सकते हैं जो आपके डेटाबेस से जुड़ता है, और सभी एंड्रॉइड क्लाइंट सर्वर पर HTTP अनुरोध भेज सकते हैं और सर्वर आपके लिए जानकारी जोड़ देगा। यहां आप विधियों को बनाने, अपडेट करने, हटाने के लिए कार्यान्वित कर सकते हैं। HTTP अनुरोधों के लिए आप रेट्रोफिट या वॉली पुस्तकालयों का उपयोग कर सकते हैं।

आप JDBC का उपयोग करना चाहते हैं, तो उत्तर यहाँ How to Mysql JDBC Driver to android studio

लेकिन समस्याओं के इस प्रकार के लिए सबसे अच्छा और सबसे सही समाधान की जाँच एक बाकी सेवा

1

आपके पास होगा स्थापित हो सकता है WAMP सर्वर/XAMPP WAMP आइकन पर mySQL डेटाबेस क्लिक करें और के लिए सर्वर अपाचे का चयन करें, खोलें "httpd.conf" तथा टैग

<Directory "c:/wamp/www"> ... </Directory>

और अद्यतन के साथ शुरू होता है लगता है के रूप में

नीचे

<Directory "c:/wamp/www"> AllowOverride All Require all granted Order Deny,Allow Deny from none Allow from all Allow from 127.0.0.1 Allow from ::1 Allow from localhost </Directory>

अब आप अपने स्थानीय सर्वर में आराम एपीआई बनाएं आप PHP या जो कुछ भी, का उपयोग करें और लैन में अपने कंप्यूटर को सौंपा आईपी पता के साथ API के साथ Android एप्लिकेशन कनेक्ट कर सकता है के रूप में कोड।

0

यह एक भी जवाब नहीं है, लेकिन उत्तर का एक समूह है। सबसे पहले आपको नेटवर्क पर आत्मनिर्भर सुरंगों के माध्यम से डेटा अग्रेषण की अवधारणा की आवश्यकता है। दिन के अंत में, आपका डेटाबेस हमेशा कुछ बंदरगाह पर सुन रहा है, जो आपकी मशीन के लिए स्थानीय है, जिसका अर्थ है कि आप डेटाबेस की सामग्री को एक्सेस और संशोधित कर सकते हैं। उदाहरण के लिए यदि आप PHPMyAdmin तक पहुंचते हैं, तो आप अपनी स्थानीय मशीन पर MySQL पता जा सकते हैं।

आपको इंटरनेट पर सार्वजनिक पहुंचने की ज़रूरत है, आपको वेब पर अपने अस्तित्व (इंटरनेट प्रोटोकॉल पता) को प्रसारित करने की आवश्यकता है। इस प्रकार, सार्वजनिक केंद्र बनाना, संक्षेप में, स्थानीय-सुरंग आपको DNS और फ़ायरवॉल सेटिंग्स के साथ गड़बड़ किए बिना आपकी स्थानीय विकास मशीन पर आसानी से वेब सेवा साझा करने की अनुमति देता है।

अपनी स्थानीय मशीन को वेब पर सुरंग करके, निर्दिष्ट आईपी पते वाला कोई भी व्यक्ति किसी भी कनेक्शन पर आपकी मशीन (डेटाबेस) तक पहुंच सकता है, न केवल लैन या डब्ल्यूआई-एफआई। चुनने के लिए कई विकल्प हैं, ngrok है, जो इंटरनेट पर एनएटी या फ़ायरवॉल के पीछे एक स्थानीय सर्वर का खुलासा करता है।

विशेषताएं हैं,

लगातार अपने में प्रगति काम पुनर्वितरित नहीं है ग्राहकों से प्रतिक्रिया प्राप्त करने के। ngrok आपकी मशीन पर एक स्थानीय वेबसर्वर को एक सुरक्षित सार्वजनिक यूआरएल (https://yourapp.ngrok.io) बनाता है। प्रवाह में बाधा डाले बिना तत्काल प्रतिक्रिया के साथ जल्दी से Iterate।

अपनी मशीन पर चल रहे विकास बैकएंड के खिलाफ परीक्षण मोबाइल ऐप्स। अपने स्थानीय देव सर्वर पर पॉइंट ngrok और फिर ngrok यूआरएल का उपयोग करने के लिए अपने ऐप को कॉन्फ़िगर करें। जब आप नेटवर्क बदलते हैं तब भी यह नहीं बदलेगा।

बिल्डिंग वेब हुक एकीकरण दर्द हो सकता है: इसे एक सार्वजनिक पता और हुक ट्रिगर करने के लिए बहुत सारे सेट अप की आवश्यकता होती है। अपने आप को ngrok के साथ समय और निराशा बचाओ। अपनी सुरंग पर बहने वाले HTTP यातायात का निरीक्षण करें। फिर, संदर्भ में रहने के दौरान एक क्लिक के साथ वेब-हुक अनुरोधों को फिर से चलाएं।

अपना डेटा लें। अपने निजी नेटवर्क पर व्यक्तिगत क्लाउड सेवाएं होस्ट करें। पूर्ण अंत-टू-एंड एन्क्रिप्शन के साथ अपने हार्डवेयर पर वेब-मेल, फ़ाइल सिंकिंग और अधिक सुरक्षित रूप से चलाएं।

इसकी वास्तव में महान, लेकिन वहाँ एक पक्ष टिप्पणी है, क्योंकि इस प्रक्रिया के अपने स्थानीय मशीन को खोलता है और यह इंटरनेट पर सुलभ IP प्रस्तुत हुई है, कई अलग अलग सुरक्षा चुनौतियों, उठता है तो यह केवल कोई भी साथ परीक्षण प्रयोजनों के लिए सिफारिश की है संवेदनशील जानकारी।

आशा इस मदद करता है :)

+0

उपर्युक्त विधि बहुत सामान्य और आसान है! – Remario

+0

wth सावधानी का उपयोग करें, यह बहुत शक्तिशाली है !!, आईपी सुरंग की अवधारणा। – Remario

+0

jdbc को एंड्रॉइड के लिए अनुकूलित नहीं किया गया है, ताकि मार्ग अच्छी तरह खत्म न हो, अंत में बस एक ऐप सर्वर बनाएं। – Remario

संबंधित मुद्दे