Giter Site home page Giter Site logo

freenet's Introduction

FreeNet

FreeNet is a lightweight asynchronous C# network library.

Structure

  • Transmission Method
    • Asynchronous accept.
    • Asynchronous receive and send.
  • Pooling
    • SocketAsyncEventArgs pooling management.
    • Receive buffer pooling management.
  • Performance Optimization
    • Aggregate BufferList for batch sending.
      • image
    • Use of double buffering queues.
  • Thread Model
    • IO thread packet processing method.
    • Single logic thread packet processing method.
  • Additional Features
    • Heartbeat functionality.

freenet's People

Contributors

kas-hish avatar netpyoung avatar sunduk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freenet's Issues

Bufferlist

보내실때에는 Bufferlist를 사용하시는데 받을때는 왜 안쓰시는지 궁금합니다
원래 보낼때만 사용하는건가요???
그리고 혹시 메세지를 30000개정도가 쌓여있고 그거를 클라이언트가 서버한테 보내면
클라이언트는 보내는데 서버는 전혀 받지를 못합니다. 혹시 짐작가는 이유라도 있으시면
말씀해주세요!!! 그러면 제가 해결해 보겠습니다!!!!
+
먼저 메세지하나를 보내고 그다음 보내기시작하니 해결이 됐습니다.!!!

안녕하세요!!

안녕하세요 맨날 게임코디연구소에서 비회원으로 댓글 달았던 학생입니다 . 얼마전에 여기에다가
bufferlist를 물어보기도한 학생입니다.
저는 지금 프로그래밍을 공부하는 대학교 3학년 학생입니다.
구글링을 하다가 코드들을 찾아서 공부하고 있어요!!
사담이지만 프로그래밍 공부를 어떻게 하시는지 궁금합니다. ㅠㅠ
저도 프로그래밍을 잘하고 싶어서요 ㅠㅠ
선생님 코드를 보면 이해는 가도 제가 아무것도 없는 상태에서
저런 코드를 짤 수는 없을 거같아서요 ㅠㅠ 어떻게 공부해오셨는지 알려주시면 안될까요 ㅠㅠ
그리고 추가적으로 질문이 있습니다.
일반적으로 사람들이 C++로 네트워크 서버를 만드는데 왜 C#으로 만드셨는지 궁금합니다.
성능면에서 정말로 C++이 더좋은가요?

FreeNet 라이브러리를 유니티 클라이언트에서도 사용하나요?

제가 유니티를 사용하지 않아서 FreeNet 라이브러리를 유니티 클라이언트에서 사용하는지 잘 모릅니다^^;
만약 사용하지 않는다면 FreeNet 라이브러리 프로젝트는 서버에서만 사용하는 것으로 정해서 닷넷코어나 혹은 최신 닷넷 프레임워크를 사용하는 것이 좋지 않을까 생각합니다.

혹 FreeNet 라이브러리를 유니티 클라이언트에서 사용한다면 서버와 클라이언트에서 사용할 네트워크 라이브러리를 분리하는 것이 좋을 것 같습니다. 클라이언트는 네트워크가 고성능으로 나올 필요는 없으니 꼭 FreeNet 라이브러리를 사용할 필요는 없을 것 같습니다. 클라이언트는 일반 동기IO 소켓을 사용하는 것으로 성능에 전혀 문제가 없다고 생각합니다.
그리고 클라이언트의 소켓을 될수 있으면 간단하게 만드는 것이 클라이언트를 다루는 프로그래머가 유지 보수하기가 더 편해지지 않을까 생각합니다.

혹시 FreeNet 라이브러리의 일부 코드가 클라이언트와 같이 사용하는 부분이 있어서 FreeNet 라이브러리를 닷넷3.5로 만들었다면 간단한 코드 생성기로 FreeNet 라이브러리에서 클라이언트가 필요로 하는 부분만 클라이언트용 솔루션에 들어가도록 하면 어떨까 생각합니다

성능 및 안정성 테스트로 만든 프로그램은 공유 받을 수 없을까요?

안녕하세요^^
저는 FreeNet을 .Net Core로 사용해야 할 이유가 있어서 얼마전에 fork를 한 후 수정을 하고 있습니다.
수정 후 버그가 없는지 혹은 성능에 문제가 없는지 테스트를 하고 싶은데 sunduk님의 문서를 보면 성능 및 안정성 테스트를 위해서 서버/클라이언트를 사용했더군요.

그래서 괜찮으시면 sunduk님이 사용하신 성능 및 안정성 테스트를 위해서 서버/클라이언트를 공유 받고 싶습니다. 혹시 github에 올리기 힘드시면 따로 메일로 주셔도 됩니다.

혹은 사정이 있어서 공개가 힘들다면 하지 않으셔도 괜찮습니다^^

.NET Core 2.0 지원

안녕하세요^^

FreeNet이 현재 닷넷프레임워크3.5만 지원하는데 이것을 .NET Core 2.0 지원으로 바꾸던가 혹은 솔루션 파일만 .NET Core 2.0로 설정한 것을 하나더 만들면 어떨까 합니다.
(기존 솔루션 설정에서는 .NET Core는 선택할 수 없더군요)

.NET Core 2.0가 멀티플랫폼 지원이라서 서버를 리눅스에서 운용할 수 있고, 앞으로 이쪽으로 지속적인 지원이 많을 것 같습니다. 그리고 유니티의 경우도 2017 버전부터 닷넷프레임워크 버전을 올리면서 최종적으로는 .NET Core(.NET Standard가 맞겠죠)가 중심이 되지 않을까 생각합니다.

제가 .NET Core 2.0로 새로 솔류션을 만든후 기존 프로젝트에서 파일만 가져와서 빌드해보니 어떤 문제도 없었습니다(FreeNet만 빌드했습니다)

조금만 더 작업하면 쉽게 .NET Core 2.0를 지원할 수 있어서 FreeNet의 이용 범위가 훨씬 더 넓어질 수 있다고 생각합니다

Freenet 유니티 버젼에서 Heart beat 버젼 적용시키면 disconnect 현상

안녕하세요

그동안 감사히 잘 쓰고 있었는데요.

gamecodi 에 올라와 있는 freenet unity 버젼에서..
이번 주기적으로 Heart beat 시켜주는 버젼을 적용시키면
Client가 접속(connect)만해도 5초? 정도 후에 Client에서 접속을 끊어버립니다..

CFreeNetEventManager 이벤트 클래스에서 어떤 문제를 야기시키는것 같은데
확인 부탁드립니다.

혹시 제가 짠 서버/클라이언트 소스가 문제인가 싶어서
github에 올라와있는 서버/클라이언트 sample 소스로 상호 테스트 진행해보았는데
CSampleServer를 켜고 제 클라이언트를 켜도 connect후에 수초 후에 disconnect 발생합니다.

그리고 저도 원인을 찾고 해결이 되면 다시 연락 드리겠습니다.

감사합니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.