作者mingtai1 (绿豆嘉义人)
看板Python
标题[问题] 请问socket观念和pymongo问题
时间Sat Jan 11 19:57:02 2014
请问一下大家, 假如我是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区分不同连线了?
一些基本观念问题还请帮忙解惑一下 ~ 感谢...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.44.107.125
1F:推 darkgerm:TCP 分办连线的方式是用 4 个值 01/12 00:09
2F:→ darkgerm:(src ip, src port, dst ip, dst port) 01/12 00:09
3F:→ darkgerm:假设 server 听在 27017 port,当 client 连入时 01/12 00:11
4F:→ darkgerm:accept() 会建一个新的 file description (fd) 01/12 00:11
5F:→ darkgerm:可以把这个 fd 想成是一个 connection 01/12 00:12
6F:→ darkgerm:而这个 connection 就是用那 4 个值分办 01/12 00:14
7F:→ darkgerm:server 接到封包时会跟据那 4 个值决定这是属於哪个连线 01/12 00:14
8F:→ darkgerm:所以只有 src port 不同也能区分出来 # 以上 TCP 原理 01/12 00:16