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

看板Python作者 (綠豆嘉義人)時間12年前 (2014/01/11 19:57), 編輯推噓1(107)
留言8則, 1人參與, 最新討論串1/1
請問一下大家, 假如我是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

01/12 00:09, , 1F
TCP 分辦連線的方式是用 4 個值
01/12 00:09, 1F

01/12 00:09, , 2F
(src ip, src port, dst ip, dst port)
01/12 00:09, 2F

01/12 00:11, , 3F
假設 server 聽在 27017 port,當 client 連入時
01/12 00:11, 3F

01/12 00:11, , 4F
accept() 會建一個新的 file description (fd)
01/12 00:11, 4F

01/12 00:12, , 5F
可以把這個 fd 想成是一個 connection
01/12 00:12, 5F

01/12 00:14, , 6F
而這個 connection 就是用那 4 個值分辦
01/12 00:14, 6F

01/12 00:14, , 7F
server 接到封包時會跟據那 4 個值決定這是屬於哪個連線
01/12 00:14, 7F

01/12 00:16, , 8F
所以只有 src port 不同也能區分出來 # 以上 TCP 原理
01/12 00:16, 8F
文章代碼(AID): #1IqJ6HU_ (Python)
文章代碼(AID): #1IqJ6HU_ (Python)