আমি শিখেছি যে টিসিপি সংযোগটি টিপল (সোর্স আইপি, উত্স পোর্ট, গন্তব্য আইপি, গন্তব্য পোর্ট) দ্বারা চিহ্নিত করা হয়েছে। তাত্ত্বিকভাবে, এভাবে হোস্ট 1: পোর্ট 1 থেকে ক্লায়েন্ট সার্ভার 1: পোর্ট 1 এর সাথে সংযুক্ত হওয়া এবং একই সাথে অন্য ক্লায়েন্ট (হোস্ট 1 তে চলমান) হোস্ট 1: পোর্ট 1 থেকে সার্ভার 2: পোর্ট 1 এ থাকা সম্ভব হবে।
আমি জাভাতে কিছুটা পরীক্ষা করেছি এবং এখন পর্যন্ত এটি সম্ভব বলে মনে হচ্ছে।
তবে, আমি একাধিকবার পড়েছি যে হোস্ট অ্যাড্রেসের জন্য সোর্স পোর্টটি অনন্য হতে হবে, যা মূলত এর অর্থ হ'ল সর্বাধিক 65536 একত্রে বহির্গামী টিসিপি সংযোগগুলির একটি হার্ড সীমা রয়েছে। এটা কি সত্যি?
আপডেট: এখানে আমার জাভা কোড। এটি কাজ করছে বলে মনে হচ্ছে এবং নেটসট্যাট-তে পরিষ্কারভাবে দুটি সক্রিয়, পোর্ট 9990 (এক থেকে 9997, এক থেকে 9998) এর বহির্গামী সংযোগগুলি দেখায় । কমপক্ষে একটি আধুনিক লিনাক্সে, এটি কি সম্ভব বলে মনে হচ্ছে?
Socket s1 = new Socket();
s1.setReuseAddress(true);
SocketAddress saremote = new InetSocketAddress("localhost",9999);
SocketAddress salocal = new InetSocketAddress("localhost",9990);
s1.bind(salocal);
s1.connect(saremote);
Socket s2 = new Socket();
s2.setReuseAddress(true);
SocketAddress saremote2 = new InetSocketAddress("localhost",9998);
SocketAddress salocal2 = new InetSocketAddress("localhost",9990);
s2.bind(salocal2);
s2.connect(saremote2);
এবং নেটস্যাট-ট আউটপুট (কেটে গেছে):
tcp6 0 0 localhost:9990 localhost:9998 CONNECTED
tcp6 0 0 localhost:9990 localhost:9999 CONNECTED