2013-09-02 3 views
-2

나는 계획중인 게임에 대해 동기식 서버 요청을하고 싶습니다. 나는 AJAX의 동기식 호출을 느리게 사용하고 AJAX가 이러한 종류의 작업을 위해 잘려지지 않는다는 것을 알고 있기 때문에 과거에는 사용하지 않았다.JS와의 빠른 동기 서버 요청

내 이유는 그것이 (가능한 한) 해킹 방지가되기 때문입니다. 예를 들어 사람이 물건을 구입 한 경우. 그들은 물건을 사려고하는 서버에 요청을 보낼 것이고, 결국에는 통화가 충분한지 확인한 다음 구매할 수있게되면 다시 돌려 보낼 것입니다. 이 예를 사용하면 뭔가를 사려고 할 때마다 몇 초가 걸리면 분명히 고통 스러울 것입니다.

클라이언트 측은 HTML5/JS이고 서버 측은 PHP/SQL입니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까? 누군가가 "내게 당신의 코드를 보여주세요"라고 말하기 전에 : 나는 부러진 것을 고치는 것에 대한 도움을 요청하지 않습니다. 나는 신속하고 동 기적으로 서버에 액세스하는 가장 좋은 방법에 대한 제안을 구하고있다. 만약 더 빠를 수 없다면, 그러한 대답으로 충분할 것입니다.

+0

불행히도이 질문은 질문을 마무리하기위한 기준 중 하나 인 의견을 이끌어 낼 것입니다. 이에 대한 "절대적인"해결책은 없으며 일반적인 최적화를 혼합 한 것입니다. 정말 많은 요소에 달려 있습니다. – Joseph

답변

1

가장 기본적인 접근 방식을 구축하는 것으로 시작합니다 : 요청을 검증하고, 데이터베이스에 연결하고, 결과를 반환 할 수 있도록 쿼리를 만드는 데 필요한 것을로드하는 최소한의 의존성을 가진 간단한 PHP 스크립트.

그런 다음 성능을 테스트하십시오. 그게 충분하지 않다면, 빠른 액세스 부분 (어쩌면 node.js?)에 대해서 websockets이나 다른 기술 스택을 살펴보기 시작합니다.

1

요청을 동 기적으로 실행해도 속도가 빨라지지는 않습니다. 요청이 완료 될 때까지 브라우저가 응답하지 않게 될 것입니다. 신속하게 작성하는 것은 서버 측 코드를 작성하여 신속하게 실행할 수 있도록하기위한 것이므로 어떠한 세부 사항 없이도이를 수행하는 방법을 알 수는 없습니다.

+0

나는 그것을 동기시키기 위해서 정확하게 동기가 필요하다고 생각했다. 나는 동기식이 프로세스를 촉진한다고 가정하지 않고, 다른 것들을하기 전에 응답 할 필요가있다. 내보기를 사용하여 : 그들은 항목을 감당할 수 없다면, 그들이 할 수 없다는 것을 말해 줄 필요가있다. 비동기식으로 다른 것을 사려고하면 물건이 엉망이 될 수 있습니다. – Rhyono

+0

작업이 보류 중일 때 사용자가 작업을 수행하지 못하게하는 다른 간단한 방법이 있습니다. Javascript를 사용하여 모달 대화 상자를 표시하는 것은 쉬운 방법입니다. – duskwuff