오픈소스 네트워크 라이브러리 일람

1. Century

coolspeed 가 만든 Go 언어 네트워크 라이브러리 입니다:
https://github.com/coolspeed/century

이것이 1등입니다. 그냥 말이 필요 없습니다 ( __ __)

2. Skynet

https://github.com/cloudwu/skynet/graphs/contributors

C 언어와 lua 로 된 네트워크 라이브러리.
중국 게임 업계 제일 유명한 스타 개발자인 cloudwu 가 개발한 네트워크 라이브러리 입니다.
아직도 활발하게 개발 중이네요. Pull Request 도 활발하나 봅니다.

천하의 netty 가 github 에서 별표 7000개인데, Skynet 이 무려 4000개.

3. Netty

Java 네트워크 라이브러리.
한국인이 개발하고 (게임 업계 포함하여) 전 세계 개발자들이 추앙하는 네트워크 라이브러리인데  정작 한국에서는 많이 안쓰이는?

https://github.com/netty/netty

4. SuperSocket

C# 네트워크 라이브러리.
중국인이 만들었는데 한국 게임 업계에 많이 쓰이는..

https://supersocket.codeplex.com

5. Boost.ASIO

C++ 슈퍼천재(괴짜)들이 만든거라 워낙 웰메이드. 사용도 쉽고.
언뜻만 보기에도 탑 솔루션인데, C++ 17 표준에 포함된다는게 거의 확정이라 (개인적으로 80%확률일거라 봄) 가장 핫하다고 볼 수 있지 않을까요.

6. Orleans

Microsoft Research 에서 개발. Halo 서버가 사용한 것으로 유명하다.
https://github.com/dotnet/orleans

7. ZeroMQ

CERN 같은 데서도 쓴다. (웬지 어디서 NASA 에서도 쓴다고 봤던 것 같은데 출처 못찾겠음)
요즘더러 한국 게임업계에서 많이 찾는 느낌입니다.
딱히 공개된 자료 출처라면 넥슨의 왓스튜디오가 ZeroMQ 로 갈아탄게 계기였지 않을까..

(그나저나 웬 슬라이드가 370 페이지나 되지..)
* 이상 모든 솔루션은 IPv6 를 지원합니다.

그 외에도 수없이 많지만 이 리스트에서는 짱짱맨들만 모았습니다.

BTW,

Q: 바람의 나라 같은 경전들은 뭘 썼는지 궁금하다? (바람의 나라 20주년을 맞으며)
A: DOOMVAS 의 전설. 고대에서 들려오는 싱귤래리티의 소리는 덤입니다.

(끝)

Advertisements

6 thoughts on “오픈소스 네트워크 라이브러리 일람

  1. 안녕하세요 평소에 블로그 잘 보고있는 독자입니다만 질문 하나만 해도 될까요?
    제가 프로그래밍을 배우기 시작한지 얼마 안되는 초보인데 golang을 접하고 상당히 쓰기 편한걸 느껴서 golang으로 앱을 개발해보려고 합니다. 생각해둔 앱컨셉은 ar기능을 이용한 게임인데, 제가 아직 미숙한지라 하나서부터 시작하기엔 지식이 너무 부족해서 어디를 건드려야 할지도 모르는 상황이라 그런데 혹시 golang으로 ar기능을 구현할수 있는 라이브러리가 있나요? 실례가 안된다면 답변부탁드립니다

    • 블로그글 잘 보고 계신다니 감사합니다 🙂
      제가 알고있는 바로는 golang 은 서버사이드 프로그램에 적합한 것으로 알려져있고 클라사이드에서는, 특히 게임쪽에서는 적합하지 않다고 많이 알려진 것으로 알고 있습니다. 일례로 golang 에는 쓸만한 데스크탑 / 모바일 GUI 라이브러리도 없습니다. 그래서 그래픽 쪽이나 AR쪽은 더욱 기대하기 어려울 것 같습니다. 하지만 제가 관련 분야에 요해가 많은건 아니라서 어디까지나 제 의견은 참고만 하시기 바랍니다~

      • 답변감사합니다.
        역시 아직 나온지 얼마 안되서 그런걸까요
        무난하게 원래 잡고 있던 자바쪽으로 해야될거 같네요.
        좋은글 언제나 감사합니다

      • 아무래도 나온지 얼마 안된데다가, 언어 발명자 분들이 잡은 포지셔닝 자체가 서버쪽이라 그러지 않을까 싶습니다.
        일단 Go 도 안드로이드나 iOS 에서도 실행 가능한데다, Go 언어에서 C 언어를 호출하는게 가능해서 저도 이쪽 주시는 하고 있는 중입니다.
        하지만 아직까지는 거리가 많이 멀어보이고,
        일단 성공사례만 보더라도 마인크래프트가 자바를 사용해 개발한 성공사례 같은 것들이 Go 에는 없으니
        Go 는 거의 제외할 수 있는 옵션 같아보입니다.
        자바가 Go 보다는 훨씬 좋지만 요즘 게임산업에서는 유니티 같은 상용 게임엔진을 사용해 게임을 개발하는게 대부분이라 유니티가 자바보다 많이 좋은 옵션인 것 같습니다.
        더우기 요즘 VR가 뜨는 시대라 유니티 엔진쪽에서도 VR관련 기능들을 추가하고 마케팅 포인트로 잡고있기 때문에 더욱더 유력해보입니다~

      • 조언 감사합니다!
        유니티를 생각해보지 않은건 아닌데, 자바스크립트나 c#을 제대로 배워본적이 없어서 고민하던 차였습니다. 자바가 제일 익숙해서 자바로 생각하고 있었는데 다시 생각해봐야겠네요

댓글 남기기

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s