2011-04-20 4 views
1

현재 Texas Hold'em LAN 게임을 Java로 프로그래밍 중입니다. 내 문제는 클라이언트/서버 통신을 수행하는 방법입니다.Texas Hold'em의 클라이언트/서버 통신

테이블에서 일이 발생할 때마다 클라이언트는 GUI를 다시 칠할 수 있도록 클라이언트에게이를 알릴 필요가 있습니다. 또한 플레이어가 돌아서면 접을 수 있어야합니다.

이것을 가장 잘 구현하려면 어떻게해야합니까? 나는 콜백/RMI을 검토 한 결과,하지만 내가 읽은 바로는, 그 방화벽에 문제가 발생할 수 있습니다

+1

LAN 게임의 경우 방화벽에 대해 걱정하는 이유는 무엇입니까? – nsfyn55

답변

2

방화벽에 대해 걱정할 때 가장 좋은 방법은 웹 브라우저처럼 HTTP를 사용하는 것입니다. 이점은 다음과 같습니다

  • 프로토콜은
  • HTTP는 웹 브라우저에 제한되지 않는다 잘 테스트 사용할 수 많은 클라이언트와 서버 라이브러리가있다 잘 알려져있다. 모든 프로그램이 HTTP를 말할 수 있습니다.

단점은 서버가 푸시 메시지는 일반적으로 사용되지 않는 것입니다. 물론 서버에서 데이터를 기다리는 각 클라이언트의 HTTP 연결을 열 수 있습니다.

+1

+1. HTTP와 포트 80을 사용하면 많은 방화벽 장벽을 피할 수 있습니다. HTTPS와 포트 443은 프록시에 의해 인터셉트되거나 가능하면 다시 포맷 될 가능성이 적으므로 훨씬 좋습니다. RMI는 임시 포트를 사용하는 방식 때문에 방화벽에서 제대로 작동하지 않습니다. –