একটি revfrom () UDP প্যাকেট (মাইক্রোসফ্ট) প্রাপ্ত ইন্টারফেসের আইপি পেয়ে

মাইক্রোসফ্ট মাল্টিহোমেড পিসিতে INADDR_ANY এ সকেটে revfrom() ব্যবহার করে। যখন revfrom() একটি UDP প্যাকেট পায়: আমি কিভাবে পকেট প্রাপ্ত ইন্টারফেস (আইপি) খুঁজে পেতে পারি?

0
মাইক্রোসফ্ট পিসি? এটি সম্ভাবনার একটি চমত্কার বিস্তৃত পরিসর, আমি উইন্ডোজ অনুমান করছি - কিন্তু এখনও, কোন সংস্করণ? Win 3.11 এবং Win 7 সামান্য ভিন্ন। এছাড়াও, আপনি কি চেষ্টা করেছেন? আপনি কি ফলাফল আশা করেন? আপনি পরিবর্তে কি পেতে পারি?
যোগ লেখক Piskvor, উৎস
- কিছু কারণে আমি মূল পোস্টটি সম্পাদনা করতে পারছি না - win2000 থেকে revfrom() ব্যবহার করে (আমি WSARecvMsg() ব্যবহার করতে পারি না Win7 এ পর্যন্ত আমি এটি করার জন্য কিছু খুঁজে পাচ্ছি না
যোগ লেখক user664239, উৎস

1 উত্তর

একটি শোনা সকেট একটি একাধিক আইপি আবদ্ধ হয় যখন গ্রহণ আইপি জানতে কোন উপায় নেই। INADDR_ANY এ একটি একক সকেট বন্ধ করার পরিবর্তে, আপনি GetAdaptersInfo() এবং GetAdapterAddresses() ব্যবহার করে স্থানীয় আইপিগুলির মেশিনের তালিকা অনুসন্ধান করতে পারেন, তারপর প্রতিটি আইপি জন্য একটি পৃথক শ্রবণ সকেট তৈরি করুন। আপনি কোন আইপিকে প্রদত্ত সকেটটি আবদ্ধ করা হয় তা জানতে getockname() ব্যবহার করতে পারেন, তবে কেবলমাত্র যখন সেই সকেটটি একটি নির্দিষ্ট আইপি, একাধিক আইপি নয়, তখন আবদ্ধ থাকে।

0
যোগ