인터넷을 통해 통신하는 간단한 2 인용 게임을 어떻게 만들 수 있습니까?모든 서버에서 사용자 지정 코드없이 인터넷을 통해 통신하는 간단한 2 인용 게임을 만드는 방법은 무엇입니까?
나는의 문제를 해결해야합니다
조회 또는 랑데부 - 두 선수가 서로를 찾고 싶어요.
진행중인 통신. 어느 플레이어라도 합리적인 빠른 시간 틀 (전자 메일 유형 대기 시간이 아닌 IM 유형 대기 시간)으로 상대방에게 정보를 전달해야하는 작업을 시작할 수 있습니다. 이와 관련
또한 요구 사항 : 지금은
, 끝점을 가정 윈도우 OS, 비교적 최근이다.
엔드 포인트 시스템이 인터넷에서 직접 액세스 할 수 없다고 가정하십시오. 들어오는 요청을 차단하는 방화벽 뒤에 숨어있는 클라이언트 시스템이라고 가정합니다. 컴퓨터는 아웃 바운드 요청을 할 수 있습니다. (HTTP를 통해 말하지만, TCP도 괜찮습니다)
통신은 개인적이어야합니다. 간단하게 이미 공유 된 비밀이 있다고 가정 해 봅시다. 끝점에서 AES를 수행 할 수 있습니다. 이것이 의미하는 바는 모든 중개자가 메시지 패킷을 해독 할 필요가 없다는 것입니다. 암호 해독은 엔드 포인트에서만 발생합니다.
모든 사용자 지정 코드는 클라이언트 PC에서만 실행해야합니다.
인터넷에 내 제어하에있는 서버가 없다고 가정합니다.
인스턴트 메시징 서버 또는 무료 IM 클라이언트 같은 상호 통신을 용이하게하기 위해 제 3 자 서버를 사용해 드리며, 사용자 지정 코드를 설치하지 않아도됩니다. 이 디자인을 용이하게 사용할 수있는 API를
?
메신저 API로이 작업을 수행 할 수 있습니까? WCF? Windows Messenger 용 WCF 채널이 있습니까?
어떤 프로토콜입니까? HTTP? 나는 이것을 "피어 - 투 - 피어 (peer-to-peer)"라고 태그를 붙였습니다. 그러나 나는 실질적으로 을 의미합니다.; 공식 P2P 프로토콜에 대한 까다로운 요구 사항은 없습니다.
어떤 메시지 형식을 사용 하시겠습니까?
편집
서버 주변의 요구 사항을 명확히하려면, 내가 원하는 내 CONTROL 세 미만의 서버에 없습니다. 그리고 어떤 서버에도 내 고객 코드가 없습니다. 그것은 "서버 없음"과 동일하지 않습니다.
이런 식으로 생각해보십시오. SMTP를 통해 전자 메일을 보내고받는 사람에게 보내는 사용자 지정 코드를 사용할 수 있습니다. 내 사용자 정의 코드는 무료 SMTP 서버 중개자를 통해 연결할 수 있습니다. SMTP 서버에 코드를 설치할 필요가 없습니다. 이것은 내가 원했던 것과 같지만 대기 시간 때문에 SMTP를 사용할 수 없습니다.
EDIT2
답변
나는 IM 프레임 워크에 대한 라이브러리를 사용하여, 내가 원하는 것을 할 수 있습니다. Windows Live Messenger를 사용하여이를 수행하는 간단한 방법 중 하나는 Messenger Activity SDK입니다. 이것은 개념을 증명하지만 실제로는 일반적인 해결책은 아닙니다. 그러나 libpurple과 같은 다양한 메신저 시스템 용 IM 라이브러리 나 IRC 채널 용 libs를 사용하여 유사한 작업을 수행 할 수 있습니다. 이 모든 경우에 IM 서버는 방화벽을 통과하는 통신 인프라로 작동합니다.
어느 기계도 다른 기계에 직접 연결할 수 없거나 중간 서버를 사용할 수 있더라도 두 대의 기계가 서로 연결되도록하고 싶습니까? –
요구 사항은 * server *가 아니거나 * custom code *가 필요하지 않습니까? – kyoryu
제 3 자 서버에는 사용자 정의 코드가없고 내 통제하에있는 인터넷 기반 서버는 없습니다. 예를 들어 GAE가 없습니다 (GAE에 호스팅 된 통신 릴레이 앱이 없으면 * 사용할 수 있습니다 *). 호스팅 된 Linux 상자가 없습니다. 나는 내 질문에 편집하여 명확하게하려고 애썼다. – Cheeso