নেটক্যাট ব্যবহার করে কীভাবে একটি সহজ চ্যাট বানাবেন?


27

আমি বর্তমানে একটি প্রকল্পে কাজ করছি এবং আমি netcatলাইব্রেরি ব্যবহার করে একটি সহজ চ্যাট অ্যাপ্লিকেশন প্রয়োগ করেছি ।

ক্লায়েন্টকে পোর্ট নম্বর এবং কমান্ড প্রবেশ করার অনুরোধ জানানো হয়

nc -l -p xxxx

xxxxক্লায়েন্ট দ্বারা প্রবেশের পোর্ট নম্বর যেখানে ।

একইভাবে, হোস্ট একই পোর্ট নম্বর জন্য অনুরোধ জানানো হয় এবং ব্যবহার করে একটি সংযোগ স্থাপন করা হয়

nc <ip_address> -p xxxx

যাইহোক, এটি একটি খালি চ্যাট অভিজ্ঞতা দেয় কারণ এটি বার্তাগুলি টাইপের ব্যক্তির ব্যবহারকারীর নামটি দেখায় না, এর মতো কিছু

hey
hello
what's up
Nothing

পরিবর্তে, আমি এটি কিছু হতে চান,

Foo : hey
Boo : hello
Foo : what's up
Boo : Nothing

আমি netcatএই কার্যকারিতাটি অর্জন করতে ব্যবহার করতে পারি বা এটির মতো আরও কিছু আছে?


1
ncজানা নেই usernameএবং এটি প্রেরণ করতে পারে না। কেবলমাত্র করতে পারে বিন্যাসে বার্তা টাইপ করা Bob: hello
2707974

আমি সেই সঠিক জিনিসটি এড়াতে চাই আমি একই বিকল্প কার্যকারিতা অর্জন করতে পারে এমন বিকল্প প্রোগ্রামগুলির জন্যও উন্মুক্ত।
শচীন কামাথ

উত্তর:


34

আপনি এরকম কিছু করতে পারেন।

ধরুন এলিস সার্ভার। সে টাইপ করে:

mawk -W interactive '$0="Alice: "$0' | nc -l -p <port_number> <ip_of_alice>

তারপরে বব সেই সার্ভারের সাথে সংযোগ স্থাপন করে। তিনি টাইপ করেন:

mawk -W interactive '$0="Bob: "$0' | nc <ip_of_alice> <port_number>

mawkলাইন শুধু "চ্যাট" এ ব্যক্তির prepending নাম যোগ করা হয়েছে। আমাদের -W interactiveস্টাডআউট এবং স্টিডিনের লাইনে বাফার রিডগুলিতে অসমাপ্ত লেখাগুলি সেট করতে হবে।


এখন এলিস টাইপ করে Hi Bobএবং দেখে:

Hi Bob

বব দেখেন:

Alice: Hi Bob

বব প্রকার Hi Aliceএবং দেখায়:

Alice: Hi Bob
Hi Alice

অ্যালিস দেখেছে:

Hi Bob
Bob: Hi Alice

2
এনসি একই সাথে -s এবং -l ব্যবহার করতে পারে না। -s প্রয়োজন হয় না।
শচীন কামথ

আমি
বিশ্রী

@ zt1983811 আপনার জিএনইউ দরকার awk, নেই mawk
বিশৃঙ্খলা

@ চাওস আমি awk awk -W ইন্টারেক্টিভ '$ 0 = "এলিস:" $ 0' | ব্যবহার করেছি এনসি -lvk আইপি পোর্ট; ls -al / usr / bin / awk lrwxrwxrwx 1 টি মূল শিকড় 21 জুন 27 06:48 / ইউএসআর / বিন / অ্যাজক -> / ইত্যাদি / বিকল্পগুলি /
অ্যাডক

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