2012-12-06 2 views
2

서버와의 연결을 열고 AS 3.0에서 클라이언트 응용 프로그램 내에서 지속적인 변경 사항을 수신하는 방법을 알아야합니다.어도비 에어 데스크톱 응용 프로그램 - 서버와의 지속적인 통신

이것은 내 첫 번째 게시물입니다. 잠시 나와 함께하시기 바랍니다.

저는 기본적으로 집에서 여러 플레이어가 동시에 현재 컴퓨터에서 작업중인 클라이언트를 설치하여 온라인 게임을 개발하는 중입니다. 자, 예를 들어 (gamenumber, maxplayers, currentplayers) 물었을 때 XML을 전달하도록 설정되어 있으므로 서버 설정에 문제가 없습니다. 클라이언트 개발을 위해 Adobe Air를 선택했습니다. 클라이언트가 PC에서 열리면 서버와 연결되어 위의 XML 예제를 검색하고 기본 창에 표시됩니다. 그리고 여기에 질문이옵니다 ... 제가 각기 다른 위치에있는 2 명의 플레이어가 내 웹 사이트에 등록되어 있다고 가정 해보십시오. 앱이 서버와 통신하면 플레이어 1이 앱에서 게임을 선택하여 열 때 player2가 해당 게임에 참여하면 player1의 PC에있는 클라이언트가 자동으로 업데이트됩니다 ... 또한 게임이 시작되고 player1이 액션 (일부 버튼을 누르십시오)에서 player2는 그것을 봅니다. 예를 들어, 클라이언트를 만들기 위해 타이머 또는 pollintervals를 사용할 수 있다는 것을 알고 있습니다. 서버에서 게임 상태를 매 "n"초마다 요청하지만 더 많은 액체 솔루션을 찾고 있습니다. 예를 들어 앱이 변경 사항을 서버에 지속적으로 수신하게합니다. 뭔가 응용 프로그램에서 node.js를 구현하는 것 (어리석은 ideea 일 수 있습니다). 제한된 수의 연결 및 데이터 크기에 대해서는 폴링 및 타이밍이 제대로 작동하지만 수천 또는 그 이상의 서버 팜이 필요한 경우 다른 솔루션이 필요합니다. 나는 내가 수천 개의 연결을 가질 것이라고 생각하지 않는다. 그러나 내가 앱을 개발할 때, 서버로부터 끌어 올 필요가있는 데이터는 각각의 새로운 생각으로 증가한다는 것을 깨달았다. 그래서 ... 어떤 아이디어? Adobe Air에서 다른 것으로 전환하지 않아도되지만 제안은 받아 들일 수 있습니다.

+0

좋은 질문입니다. 그러나, 당신은 그것에 도착하기 전에 꽤 긴 이야기를 썼습니다. 처음에 질문을하고 그 문제에 대한 자세한 내용을 추가하면 좋을 것입니다. 다음 번에 시도해보십시오. –

+0

고마워, 나는 다음 번에 그 점을 염두에 둘 것이다. – man

+0

이 아마도 도움이 될 수 있습니까? http://arthurnn.com/blog/2010/12/09/socket-connection-beteween-flex-air-and-java/ –

답변

0

음, 내 질문에 대한 답변을 찾았지만 정확하게 해결책은 아닙니다. 공기 응용 프로그램과 서버, 그리고 다른 클라이언트 사이에 2 웨이 오픈 채널을 유지하려면 PHP, Java, C++, Python 또는 기타의 XMLSocket 서버에서 직접 XMLSocket 서버를 작성하고 XMLSocket()을 사용해야합니다. 기능. 나는 여기서 또 다른 예를 찾을 수 있었다 : http://www.kilometer0.com/blog/code/php-xml-socket-server/. PHP XMLSock이 여전히 많은 연결을 처리 할 수 ​​없기 때문에 저와 같은 폭 넓은 플랫폼을 개발하고자하는 사람들에게는 여전히 답이 아닙니다. 또한, 계속 읽고 있기 때문에 데스크탑 웹 응용 프로그램에 따라 소켓 서버를 구축해야하므로 평균 http 웹 사이트보다 약간 복잡합니다. 좋은 해결책은 C++로 소켓 서버를 코딩하는 것입니다. 에러를 잘 처리 할 수 ​​있고 많은 수의 연결을 처리 할 수 ​​있습니다. 모든 조언을 해주셔서 감사합니다.

관련 문제