2012-09-13 4 views
4

멀티 플레이 기능으로 약간의 안드로이드 게임을 개발하겠습니다. 저는 eNet 라이브러리를 사용하여 C++로 서버 프레임 워크를 만들었습니다.이 프레임 워크를 사용하여 서버를 만들고 싶습니다.네트워킹 라이브러리 호환 C 및 Java

Java 및 C++과 호환되는 eNet과 같은 네트워킹 라이브러리가 있습니까? 나는 그것이 미숙의 jEnet 존재 (하지만, 아주 최신의 자바-ENET-래퍼 (https://github.com/csm/java-enet-wrapper)에서 것을 알고

답변

-1

당신은 UDT를 시도 할 수 있습니다. http://udt.sourceforge.net/

나는 자바와 C 사이의 통신에 좋은 성공 전에 그것을 사용했다 ++ 과정.

+0

감사합니다. 나는 한번 살펴 보겠다. j-enet (https://github.com/csm/java-enet.git)도 시도하고 싶습니다. 누구나 j-enet의 버전이 C++ enet과 호환되는지 알고 있습니까? – fabregot

+0

UDT는 enet과는 다릅니다. UDT는 처리량 지향적이며, 처리량을 찾고 있다면 TCP/IP를 통해 UDP lib를 선택하는 이유가 거의 없습니다. 또한 UDT는 CPU 부하로 인해 제한된 환경에서만 유용합니다. 단일 전송 (즉, 단일 클라이언트)은 종종 CPU의 1/4 이상을 소비합니다 (조회). TCP over UDP, 1) 대기 시간, 2) 연결 범위 (UDP는 all-to-all을 지원할 수있는 1 : 1 연결 모델을 가지고 있습니다.)를 선택해야하는 이유는 두 가지뿐입니다. 처리량 중심의 서비스는 일반적으로 콘텐츠 지향적이므로 서비스가 거의 필요하지 않습니다. – JSON

+0

나를 잘못 이해하지 마라. UDT는 나름대로 멋지다. (나는 1 시간 이내에 1TB 이상의 맵핑 데이터를 전송하는 것에 대해 읽고있다. 대기 시간이 낮고 피어 투 피어 유형의 동작이 필요하지 않은 높은 CPU 비용이었습니다. 특히 TCP보다 광범위한 연결 기능을 사용하여 확장 가능하고 대기 시간이 짧은 솔루션을 찾지 않는 이유는 무엇입니까? – JSON

0

는 확인 https://github.com/julienr/libenet-android. UDT 프로세서 집약적 인 게임이 될 수

ENET가 귀하의 경우 UDT보다 훨씬 더 좋습니다 서비스는 적어도 많은 연결을 희망합니다. 차이점은 UDT의 정체 제어 구현에서 비롯됩니다. l은 비교적 높은 CPU 요구량을 가지고 있습니다. UDT는 멋지지만 게임에서 요구되는 작고 대기 시간이 긴 트랜잭션보다는 장거리에서의 대용량, 고 대역폭 전송을 위해 더 많이 설계되었습니다.

또한 주 스트림 정체 제어 알고리즘은 작은 트랜잭션에서는 잘 수행되지 않습니다. 트랜잭션에서 각 패킷의 RTT를 모니터링하거나 트랜잭션 내에서 패킷 손실률을 모니터링하여 작동합니다. 이는 각 변환이 평균적으로 1 - 2 패킷 일 때 문제가됩니다. 혼잡 제어 프로토콜의 추가적인 요구는 전송이 작게 유지되는 경우 혼잡 제어 자체가 종결 될 가능성이 없더라도 대기 시간에 영향을 미칩니다.

관련 문제