Acceptor & Connector โ€” ่ฟžๆŽฅ็š„ไธค็ซฏ

็ฌฌ 10 ่ฏพ๏ผšAcceptor & Connector โ€” ่ฟžๆŽฅ็š„ไธค็ซฏ ๅฏนๅบ”ๆบๆ–‡ไปถ๏ผš trantor/net/inner/Acceptor.h / Acceptor.cc โ€” ๆœๅŠก็ซฏ๏ผš็›‘ๅฌๅนถๆŽฅๅ—่ฟžๆŽฅ trantor/net/inner/Connector.h / Connector.cc โ€” ๅฎขๆˆท็ซฏ๏ผšไธปๅŠจๅ‘่ตท่ฟžๆŽฅ๏ผˆๅซ้‡่ฟž๏ผ‰ ไธ€ใ€ไธคไธช็ฑปๅœจๆžถๆž„ไธญ็š„่ง’่‰ฒ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ TcpServer โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Acceptor โ”‚ โ”‚ โ”‚ โ”‚ Socket(listenFd) โ”‚ โ”‚ โ”‚ โ”‚ Channel โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ†‘ listen ๅฎขๆˆท็ซฏๅ‘่ตท connect โ†“ accept โ†’ ๅ›ž่ฐƒ newConnectionCallback_ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ TcpClient โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Connector โ”‚ โ”‚ โ”‚ โ”‚ (้ž้˜ปๅกž connect) โ”‚ โ”‚ โ”‚ โ”‚ ๆŒ‡ๆ•ฐ้€€้ฟ้‡่ฟž โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ Acceptor ๅ’Œ Connector ้ƒฝไธๆ‹ฅๆœ‰่ฟžๆŽฅโ€”โ€”ๅฎƒไปฌ็š„่Œ่ดฃๆ˜ฏๆŠŠไธ€ไธชๅทฒๅฐฑ็ปช็š„ fd ไบค็ป™ไธŠๅฑ‚๏ผˆTcpServer/TcpClient๏ผ‰๏ผŒ็”ฑไธŠๅฑ‚ๅˆ›ๅปบ TcpConnection ๅฏน่ฑกๆฅ็ฎก็†่ฏฅ fd ็š„ๅŽ็ปญ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚ ...

March 21, 2025 ยท 11 min ยท 2276 words