[問題] 請問socket觀念和pymongo問題

作者: mingtai1 (綠豆嘉義人)   2014-01-11 19:57:02
請問一下大家, 假如我是client的角色,
要用pymongo的MongoClient 連DB server,
MongoClient說他的max pool size預設為100,
這個意思是指他只會開1個socket, 限制最多100個thread共用這個socket,
還是說他是開100個socket給前100個取用的thread?
感覺好像不太可能是前者...@@
因為若local/remote IP/port都一樣, 好像根本不能分辨是哪個client thread了?
且server side的IP/port都一樣, 應該只能靠client 不同port區分不同連線了?
一些基本觀念問題還請幫忙解惑一下 ~ 感謝...
作者: darkgerm (黑駿)   2014-01-12 00:09:00
TCP 分辦連線的方式是用 4 個值(src ip, src port, dst ip, dst port)假設 server 聽在 27017 port,當 client 連入時accept() 會建一個新的 file description (fd)可以把這個 fd 想成是一個 connection而這個 connection 就是用那 4 個值分辦server 接到封包時會跟據那 4 個值決定這是屬於哪個連線所以只有 src port 不同也能區分出來 # 以上 TCP 原理

Links booklink

Contact Us: admin [ a t ] ucptt.com