作者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