میں ساکٹ پروگرامنگ مختلف ایپلی کیشنز کے مابین مواصلات کے لئے استعمال کیا جاتا ہے جو مختلف چل رہے ہیں . یہ یا تو کنکشن پر مبنی یا غیر منسلک ہوسکتا ہے۔ مجموعی طور پر ، ایک ساکٹ ایک مؤکل اور سرور کے مابین روابط قائم کرنے کا ایک طریقہ ہے۔ اس مضمون میں ، میں آپ کو ساکٹ پروگرامنگ کے بارے میں سب کچھ بتاؤں گا۔
اس مضمون میں ذیل میں عنوانات شامل ہیں:
جاوا میں ساکٹ پروگرامنگ کیا ہے؟
ساکٹ پروگرامنگ ایک دوسرے سے بات چیت کرنے کے لئے نیٹ ورک پر دو نوڈس کو جوڑنے کا ایک طریقہ ہے۔ ایک ساکٹ (نوڈ) ایک IP پر کسی خاص پورٹ پر سنتا ہے ، جبکہ دوسرا ساکٹ رابطہ قائم کرنے کے لئے دوسرے تک پہنچ جاتا ہے۔
سرور سننے والوں کو تشکیل دیتا ہے ساکٹ جبکہ کلائنٹ سرور تک پہنچ جاتا ہے۔ ساکٹ اور سرور ساکٹ کنکشن پر مبنی ساکٹ پروگرامنگ کے لئے استعمال ہوتا ہے۔
آئیے اب ساکٹ پروگرامنگ یعنی ساکٹ کے بنیادی تصور کو سمجھیں۔
جاوا میں ساکٹ کیا ہے؟
TO ساکٹ میں نیٹ ورک پر چلنے والے دو پروگراموں کے مابین دو طرفہ مواصلاتی رابطے کا ایک اختتامی نقطہ ہے۔ A ساکٹ پورٹ نمبر کا پابند ہے تاکہ ٹی سی پی پرت اس درخواست کی شناخت کرسکے جس میں ڈیٹا بھیجنا مقصود ہے۔
ایک اختتامی نقطہ ایک IP پتے اور پورٹ نمبر کا مجموعہ ہوتا ہے۔ جاوا پلیٹ فارم میں پیکیج ایک کلاس فراہم کرتا ہے ،ساکٹجو آپ کے جاوا پروگرام اور نیٹ ورک کے دوسرے پروگرام کے مابین دو طرفہ رابطے کا اطلاق کرتا ہے۔ کلاس ایک پلیٹ فارم پر منحصر عمل درآمد کے اوپری حصے پر بیٹھا ہے ، اور آپ کے جاوا پروگرام سے کسی خاص نظام کی تفصیلات چھپاتا ہے۔ آبائی کوڈ پر انحصار کرنے کی بجائے کلاس کا استعمال کرکے ، آپ کی پلیٹ فارم سے آزاد فیشن میں نیٹ ورک پر بات چیت کرسکتے ہیں۔
اب جب آپ جانتے ہو ، جاوا میں ساکٹ کیا ہے ، آئیے ہم آگے بڑھتے ہیں اور یہ سمجھتے ہیں کہ موکل سرور کے ساتھ کس طرح بات چیت کرتا ہے اور سرور کیسے جواب دیتا ہے۔
کلائنٹ سائیڈ پروگرامنگ
کلائنٹ سائیڈ پروگرامنگ کی صورت میں ، موکل سرور کے شروع ہونے کا سب سے پہلے انتظار کرے گا۔ ایک بار سرور کے ختم ہونے اور چلانے کے بعد ، یہ سرور کو درخواستیں بھیج دے گا۔ اس کے بعد ، مؤکل سرور سے جواب کا انتظار کرے گا۔ تو ، یہ مؤکل اور سرور مواصلات کی ساری منطق ہے۔ آئیے اب کلائنٹ سائیڈ اور سرور سائیڈ پروگرامنگ کو تفصیل سے سمجھتے ہیں۔
ایک مؤکل کی درخواست شروع کرنے کے ل، ، آپ کو مندرجہ ذیل اقدامات پر عمل کرنے کی ضرورت ہے۔
1. ایک کنکشن قائم کریں
پہلے مرحلے میں ساکٹ کنکشن قائم کرنا ہے۔ ساکٹ کنکشن سے معلوم ہوتا ہے کہ دونوں مشینوں میں ایک دوسرے کے نیٹ ورک لوکیشن (آئی پی ایڈریس) اور ٹی سی پی پورٹ کے بارے میں معلومات موجود ہیں۔
آپ ذیل میں دیئے گئے بیان کی مدد سے ساکٹ تشکیل دے سکتے ہیں۔
ساکٹ ساکٹ = نیا ساکٹ ('127.0.0.1' ، 5000)
یہاں ، پہلی دلیل کی نمائندگی کرتا ہے سرور کا IP ایڈریس .
دوسری دلیل کی نمائندگی کرتا ہے ٹی سی پی پورٹ . (یہ ایک ایسی تعداد ہے جو سرور پر چلنے والی ایپلی کیشن کی نمائندگی کرتی ہے۔)
2. مواصلات
ساکٹ کنکشن پر بات چیت کرنے کے لئے ، دھاروں کو ان پٹ اور ڈیٹا آؤٹ پٹ دونوں کے لئے استعمال کیا جاتا ہے۔ کنکشن قائم کرنے اور درخواستیں بھیجنے کے بعد ، آپ کو کنکشن بند کرنے کی ضرورت ہے۔
3. کنکشن بند کرنا
ایک بار سرور کو پیغام بھیجنے کے بعد ساکٹ کنکشن واضح طور پر بند ہوجاتا ہے۔
اب آئیے دیکھتے ہیں کہ مؤکل کی طرف ساکٹ کنکشن کو لاگو کرنے کے لئے جاوا پروگرام کیسے لکھا جائے۔
// کلائنٹ سائیڈ درآمد java.net کے لئے جاوا پروگرام۔ * درآمد java.io. آئی پی ایڈریس اور پورٹ پبلک کلائنٹ (سٹرنگ ایڈریس ، انٹ پورٹ) ڈالنا {// کنیکشن قائم کرنے کی کوشش کریں {ساکٹ = نیا ساکٹ (ایڈریس ، پورٹ) سسٹم آؤٹ.پریٹلن ('منسلک') // ٹرمینل ان پٹ سے ان پٹ لیتا ہے = نیا ڈیٹا ان پٹ اسٹریم (سسٹم ڈاٹ کام) // ساکٹ کو آؤٹ پٹ بھیجتا ہے = نیا ڈیٹا آؤٹ پٹ اسٹریم (ساکٹ.بیٹ آؤٹ پٹ اسٹریم ())} کیچ (نامعلوم ہاسٹیکسیپشن u) {System.out.println (u)} کیچ (IOException i) {System.out .println (i) input // ان پٹ سے پیغام پڑھنے کے لئے سٹرنگ لائن = '' // جب تک 'اوور' ان پٹ نہ ہو پڑھتے رہیں جب کہ (! line.equals ('over')) {کوشش کریں {لائن = ان پٹ.ریڈ لائن ( ) out.writeUTF (لائن)} کیچ (IOException i) {System.out.println (i)}} // کنکشن بند کرنے کی کوشش کریں {input.close () out.close () socket.close ()} کیچ (IOException) میں ) {System.out.println (i)}} عوامی جامد باطل اہم (سٹرنگ آرگز []) {کلائنٹ کلائنٹ = نیا کلائنٹ ('127.0.0.1' ، 5000)}}
اب ، چلیں سرور سائیڈ پروگرامنگ نافذ کریں اور پھر آؤٹ پٹ پر پہنچیں۔
سرور سائیڈ پروگرامنگ
بنیادی طور پر ، سرور اپنے اعتراض کو تیز کرے گا اور مؤکل کی درخواست کا انتظار کرے گا۔ ایک بار جب مؤکل درخواست بھیجتا ہے ، سرور اس کے جواب کے ساتھ بات چیت کرے گا۔
سرور سائیڈ ایپلی کیشن کوڈ کرنے کے ل you ، آپ کو دو ساکٹ درکار ہیں اور وہ مندرجہ ذیل ہیں:
TO سرورسکٹ جو موکل کی درخواستوں کا منتظر ہے (جب ایک مؤکل نیا ساکٹ بناتا ہے) ()
ایک سادہ بوڑھا ساکٹ موکل کے ساتھ بات چیت کے ل.۔
اس کے بعد ، آپ کو مؤکل کے ساتھ جواب کے ساتھ بات چیت کرنے کی ضرورت ہے۔
سیلز فورس ایپ کی تشکیل کیسے کریں
مواصلات
گیٹ آؤٹ پٹ اسٹریم () ساکٹ کے ذریعے آؤٹ پٹ بھیجنے کے لئے طریقہ استعمال کیا جاتا ہے۔
کنکشن بند کریں
ساکٹ کے ساتھ ساتھ ان پٹ / آؤٹ پٹ اسٹریمز کو بند کرکے سب کچھ مکمل ہوجانے کے بعد یہ کنکشن بند کرنا ضروری ہے۔
اب آئیے دیکھتے ہیں کہ سرور کی طرف ساکٹ کنکشن کو لاگو کرنے کے لئے جاوا پروگرام کیسے لکھا جائے۔
// سرور کے درآمد java.net کے لئے جاوا پروگرام۔ * java.io درآمد کریں۔ * عوامی کلاس سرورسائڈ {// شروع کریں ساکٹ اور ان پٹ اسٹریم نجی ساکٹ ساکٹ = منسوخ نجی سرورساکٹ سرور = کال پرائیوٹ ڈیٹا ان پٹ اسٹریم = کے ساتھ // کنسٹرکٹر پورٹ پبلک سرور (انٹرنٹ پورٹ) {// سرور شروع کرتا ہے اور کنکشن کا منتظر ہے try سرور = نیا سرورسوکٹ (پورٹ) سسٹم آؤٹ.پریٹلن ('سرور شروع ہوا') سسٹم آؤٹ.پریٹلن ('کلائنٹ کا انتظار کر رہا ہے ..) . ') ساکٹ = سرور.اسیپٹ () سسٹم آؤٹ.پرینٹلن (' کلائنٹ کو قبول کیا گیا) '// کلائنٹ ساکٹ سے ان پٹ لے جاتا ہے = نیا ڈیٹا ان پٹ اسٹریم (نیا بفرڈ انپٹسٹریم (ساکٹ.بیٹ انپٹ اسٹریم ())) سٹرنگ لائن =' '/ / کلائنٹ کی طرف سے 'اوور' بھیجنے تک پیغام پڑھتا ہے جب تک کہ (! line.equals ('Over'))) {کوشش کریں {لائن = in.readUTF () System.out.println (لائن)} کیچ (IOException i) {سسٹم۔ out.println (i)}} System.out.println ('بند کنکشن') // قریبی کنکشن ساکٹ کوسٹ (بند) (in inlove عوامی جامد باطل اہم (سٹرنگ آرگس []) { سرور سرور = نیا سرور (5000)}
کلائنٹ اور سرور دونوں اختتام کو مرتب کرنے کے بعد ، آپ پہلے سرور سائڈ پروگرام کو انجام دے سکتے ہیں۔ اس کے بعد ، آپ کو کلائنٹ سائیڈ پروگرام چلانے اور درخواست بھیجنے کی ضرورت ہے۔ جیسے ہی کلائنٹ کے اختتام سے درخواست بھیج دی جائے گی ، سرور واپس جواب دے گا۔ ذیل میں سنیپ شاٹ بھی اسی کی نمائندگی کرتا ہے۔
1. جب آپ سرور سائیڈ اسکرپٹ چلاتے ہیں تو ، یہ شروع ہوجائے گا اور کلائنٹ کے شروع ہونے کا انتظار کرے گا۔
2. اس کے بعد ، مؤکل مربوط ہوجائے گا اور اسٹرنگ کی شکل میں درخواست داخل کردے گا۔
When. جب مؤکل درخواست بھیجتا ہے تو ، سرور واپس جواب دے گا۔
اس طرح آپ کو جاوا میں ساکٹ پروگرام چلانے کی ضرورت ہے۔ آپ یہ پروگرام ٹرمینل ونڈو یا کمانڈ پرامپٹ پر بھی چلا سکتے ہیں۔ لیکن ، چونکہ چاند گرہن اپنی خصوصیات کے ساتھ بہتر ہے ، لہذا ، آپ کنسول پر آسانی سے دونوں پروگراموں کو انجام دے سکتے ہیں۔
یہ ہمارے پاس جاوا میں ساکٹ پروگرامنگ سے متعلق مضمون کے آخر تک پہنچا ہے۔ مجھے امید ہے کہ میں نے آپ کے علم پر کچھ روشنی ڈالی ہے ساکٹ پروگرامنگ۔
چیک کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کا نیٹ ورک موجود ہے۔ ہم آپ کے سفر کے ہر قدم میں آپ کی مدد کرنے کے لئے یہاں موجود ہیں ، اس جاوا انٹرویو سوالات کے علاوہ بننے کے ل a ، ہم ایک نصاب تیار کرتے ہیں جو طلباء اور پیشہ ور افراد کے لئے تیار کیا گیا ہے جو جاوا ڈویلپر بننا چاہتے ہیں۔
ہمارے لئے ایک سوال ہے؟ برائے کرم اس 'جاواٹ میں ساکٹ پروگرامنگ' مضمون کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جلد سے جلد آپ کے پاس مل جائیں گے۔