C++로 서버를 만들 수 있을까요?
안녕하세요. C++를 공부하다가 문득 생각나서 물어봅니다.
구글에 검색을 해보니 C++로 서버를 만들수는 있지만 자료가 많이 없더라구요..
그래서 질문 몇가지를 한번 추려봤습니다.. 답변부탁드립니당 ㅠㅠ
1. C++를 이용해서 서버를 만들 경우, 속도와 다른 퍼포먼스가 현재 가장 널리 사용되고 있는 서버사이드 언어와 별 차이 없나요? (PHP, JSP, Node.js 등)
2. C++를 이용해서 서버를 만들 경우, 현재 가장 많이 쓰이는 프레임워크는 무엇인가요?
3. 만약 C++를 이용해서 서버를 추천하지 않으시는 경우, 어떤 서버언어를 배워야 할까요? 현재 게임개발하려고 서버언어를 배우고 싶습니다!
1. C++를 이용해서 서버를 만들 경우, 속도와 다른 퍼포먼스가 현재 가장 널리 사용되고 있는 서버사이드 언어와 별 차이 없나요? (PHP, JSP, Node.js 등)
네, 당연히 가능합니다. ※ PHP, JSP, Node.js는 서버가 아닙니다. (Node.js의 express는 서버입니다!)
PHP, JSP, Node.js를 쓴다면 (아마도) HTTP 기반으로 통신하겠지만, C++로 만들면 TCP 기반으로 통신할 수 있습니다.
언어의 성능 비교라면... 당연히 (잘만 만든다면) C++이 PHP나 JSP, Node.js보다는 훨씬 빠릅니다!
2. C++를 이용해서 서버를 만들 경우, 현재 가장 많이 쓰이는 프레임워크는 무엇인가요?
웹 서버를 만드시려는 거라면 cpprestsdk를 알아보세요! (별로 추천하고 싶지는 않은 방법이지만...)
그게 아니라면 프라우드넷이나 libuv(?) 정도...
3. 만약 C++를 이용해서 서버를 추천하지 않으시는 경우, 어떤 서버언어를 배워야 할까요? 현재 게임개발하려고 서버언어를 배우고 싶습니다!
어떤 게임인지에 따라 다릅니다.
게임 도중에도 서버와 연결이 필요한 게임인가요? (예를 들면 쿠키런이라거나... 하는 게임은 중간에 연결이 필요하지 않죠)
연결이 필요 없다면, 서버를 REST API로 사용해도 좋습니다. (HTTP 위에서 동작합니다. 웹서버를 그대로 쓸 수 있습니다!)
이런 경우에는 PHP를 써도 좋습니다. 결과만 받아서 DB에 넣고! 값 알려주고! 하는 게 별로 없으니까요. (아마도...?)
하지만 중간에도 연결이 필요하다면... 또 어떤 게임인지에 따라서 달라지겠네요. C++ 좋아요! C++ 하세요!