আমি সকেটগুলির সাথে স্টাফ পরীক্ষা করছি এবং আমি সেই আজব ঘটনাটির মুখোমুখি হয়েছি:
আমি সিটিতে খুব সাধারণ টিসিপি সার্ভার কোড করেছিলাম, গ্রহণ করার পরে আমি এটি ব্লক করে দিয়েছিলাম (), একই সাথে একাধিক সংযোগের প্রচেষ্টা গ্রহণ করার পরে কী ঘটে তা দেখার জন্য:
এখানে সার্ভারের কোডের একটি অংশ রয়েছে:
//listen()
if( (listen(sock,5)) == -1) {
perror("listen");
exit(-1);
}
//accept()
if( (cli = accept(sock, (struct sockaddr *) &client, &len)) == 1 ){
perror("accept");
exit(-1);
}
printf("entrez un int : ");
scanf("%d",&toto);
সার্ভার যখন ব্যবহারকারীকে একটি পূর্ণসংখ্যা প্রবেশ করতে বলে, আমি একাধিক ক্লায়েন্টকে টেলনেটের সাথে সংযোগ দেওয়ার চেষ্টা করি।
প্রথম কেল্লা, খোলামেলা ঠিক আছে:
root@[...] :/home/[...]/workspace/sockets# netstat -antp | grep 10003
tcp 0 0 0.0.0.0:10003 0.0.0.0:* LISTEN 25832/toto
tcp 0 0 127.0.0.1:10003 127.0.0.1:51166 ESTABLISHED 25832/toto
tcp 0 0 127.0.0.1:51166 127.0.0.1:10003 ESTABLISHED 25845/telnet
তবে তারপরে প্রথমটির পরে, যদিও আমি মূল, তবুও কিছু সংযোগ রয়েছে যা আমি প্রক্রিয়াটির মালিকানা এবং এর পিড দেখতে পাচ্ছি না:
root@[...] :/home/[...]/workspace/sockets# netstat -antp | grep 10003
tcp 0 0 0.0.0.0:10003 0.0.0.0:* LISTEN 25832/toto
tcp 0 0 127.0.0.1:10003 127.0.0.1:51166 ESTABLISHED 25832/toto
tcp 0 0 127.0.0.1:51166 127.0.0.1:10003 ESTABLISHED 25845/telnet
tcp 0 0 127.0.0.1:10003 127.0.0.1:51168 ESTABLISHED -
tcp 0 0 127.0.0.1:51168 127.0.0.1:10003 ESTABLISHED 25852/telnet
তৃতীয়টি:
root@[...] :/home/[...]/workspace/sockets# netstat -antp | grep 10003
tcp 0 0 0.0.0.0:10003 0.0.0.0:* LISTEN 25832/toto
tcp 0 0 127.0.0.1:10003 127.0.0.1:51166 ESTABLISHED 25832/toto
tcp 0 0 127.0.0.1:51166 127.0.0.1:10003 ESTABLISHED 25845/telnet
tcp 0 0 127.0.0.1:10003 127.0.0.1:51172 ESTABLISHED -
tcp 0 0 127.0.0.1:10003 127.0.0.1:51168 ESTABLISHED -
tcp 0 0 127.0.0.1:51168 127.0.0.1:10003 ESTABLISHED 25852/telnet
tcp 0 0 127.0.0.1:51172 127.0.0.1:10003 ESTABLISHED 25860/telnet
আমি কয়েক দিন পরে নেটস্ট্যাট-অ্যান্টপকে মূল হিসাবে চেষ্টা করেছি এবং আমি যা পেয়েছি তা এখানে:
root@[...] :/home/[...]/workspace/sockets# netstat -antpe | grep 10003
tcp 0 0 0.0.0.0:10003 0.0.0.0:* LISTEN 1000 327680 22399/toto
tcp 0 0 127.0.0.1:33286 127.0.0.1:10003 ESTABLISHED 1000 417202 22884/telnet
tcp 0 0 127.0.0.1:10003 127.0.0.1:33046 ESTABLISHED 0 0 -
tcp 0 0 127.0.0.1:10003 127.0.0.1:33286 ESTABLISHED 0 0 -
tcp 0 0 127.0.0.1:33044 127.0.0.1:10003 ESTABLISHED 1000 332810 22402/telnet
tcp 0 0 127.0.0.1:33046 127.0.0.1:10003 ESTABLISHED 1000 331200 22410/telnet
tcp 0 0 127.0.0.1:10003 127.0.0.1:33044 ESTABLISHED 1000 332801 22399/toto
কিভাবে একটি প্রক্রিয়া বা সংযোগ 0 এর ইনোড থাকতে পারে? কেউ কি আমাকে ব্যাখ্যা করতে পারেন যে কি চলছে?