20201017 박세진의 갑작스런 호기심! - web server 상에서 thread - port - socket

2020. 10. 17. 01:07개발/네트워크

어느날 문득 대체 이 내가 굴린 web이 어떻게 데이터를 받아서 어디서 함수를 구현하고 기타 등등을 하는지 내가 너무 잘 모르고 있었다는 생각이 들었다. 그래서 되게 짤막하지만 내 호기심을 해결해준 지식을 공유한다.

 

port - 하나의 프로세스 담당. 보통 서버에서 80번 포트를 엽니다. 즉, server는 하나의 포트로만 request들을 처리하고 있는거임. 아니 하나의 프로세스로..? 넘 비효율적인거 아닌가?? (여담으로, client단에서는 가장 높은 port 순으로 하나씩 연다고 한다. 올~)

 

대신 하나의 port에서 여러개의 socket을 열 수 있고, 그 socket에서 통신을 통한 여러가지 data들이 오고가는 것이다. 그래서... 그 많은 request를 하나의 프로세스로만 처리한다고..?

 

그래서 멀티쓰레딩을 활용하여 request를 각각 처리한다고 한다.

stackoverflow.com/questions/18576670/handling-7000-clients-multithreading-tcp-high-traffic

 

Handling 7000+ clients? -MultiThreading (TCP, high-traffic)

I'm going to create a network system that can handle 7000+ tcp socket client with 5KB/s input (clients sends). I've looked into this question: Link>>. They said "create 1024 thread to handle 1024 c...

stackoverflow.com

아우 신기해!

'개발 > 네트워크' 카테고리의 다른 글

20200623 https  (0) 2020.06.23