[问题] 请问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