2012-07-05 2 views
0

저는 ipad, iphone 응용 프로그램 용 게이머 서버를 만들고 있습니다. 2 인용 카드 게임이지만 두 명의 플레이어간에 여러 게임이 진행될 수 있습니다.HTTP 또는 TCP를 사용하면 얼마나 차이가 있습니까?

많은 포럼과 블로그를 거친 후 nodeJS와 mongo-db 조합을 사용하기로 결정했습니다.

나는 두 가지 모두에 익숙하지 만 이러한 것들을 배우는 시간이 있으며 나는 JS에서 상당한 경험을 가지고있다.

내 클라이언트 측이 iOS이고 objective-C 스택 인 경우 확실하지 않은 내용입니다.

  • 신뢰할 수있는 라이브러리 사용 가능한 TCP 중 가장 좋은 방법, HTTP REST 및 WebSocket을 고려와를 할 수있는 것을.
  • 복잡성 수준
  • 내가 시작 아직 나처럼 성능
  • 당신은 내가 처음부터 자체 nodeJS을 사용하지 않는 것을 느낄 경우

가 올바른 방향으로 날 지점하시기 바랍니다.

+1

당신은 분명히 당신이 할 수없는 이유가없는 한 HTTP를 사용하십시오. –

+0

HTTP는 TCP를 백업 엔진으로 사용합니다 ... –

답변

0

iOS 사용을 고려중인 경우 웹 소켓을 사용하지 않아도됩니다. 하나의 큰 UIWebView에서 전체 게임을 만들고 싶지는 않을 것입니다.

TCP : 글쎄, 흥미로운 질문입니다. 일반 TCP는 일반적으로 avket 헤더가 없기 때문에 HTTP보다 오버 헤드가 적습니다. 필요하지만 자신의 프로토콜을 구현하는 것은 게임을 작성하는 데 필요한 훨씬 더 큰 과제이며, 속도/성능면에서 HTTP와 같은 함정으로 끝날 것입니다. 또한 유닉스에서 TCP 네트워킹을 할 수있는 BSD 소켓 API는 언뜻보기에는 명백하지 않다. 그러나 TCP를 사용하기로 결정한 경우 여기 API의 내 OO 래퍼가 있습니다. http://github.com/H2CO3/TCPHelper

HTTP : ypu가 선택해야합니다. 그것은 훌륭한 역사를 가지고 있으며, 매우 성숙한 프로토콜이며, 거기에 몇 가지 고품질의 C 및 Objective-C 라이브러리가 있습니다. Cocoa (Touch)는 NSURL * 종류의 Objective-C 클래스를 가지고 있으며 C에 대한 libCURL도 가지고 있습니다.

서버 측에서는 HTTP를 최신 서버로 암시 적으로 자동으로 지원하기를 원할 수도 있습니다. 당신이 깊이 파고하려는 경우 대신 단순히 일반 TCP를 사용하는 deicde 경우 서버 측에서 WebSocket을 사용할 수 있습니다, 다시

<?php echo "Hello World"; ?> 

말, 메시지를 보낼 수있는 프로토콜을 혼란에 있습니다.

도움이되기를 바랍니다.

+0

TCP를 사용하는 동안 양방향 통신을 구현하기가 쉽지만 서버에 데이터를 보내려면 http를 사용할 때 iOS의 다른 플레이어에게 푸시 데이터를 구현하는 방법은 무엇입니까? –

+0

그렇기 때문에 GameKit iOS 프레임 워크가 있습니다. 다시 말하지만, 프로토콜에 대해 생각하지 않고도, Apple은 iOS 장치간에 통신 할 수있는 기능을 제공합니다. –

관련 문제