2013-03-30 7 views
1

좋아 ... 나는 오히려 새로운 php (그리고 이것은 아마도 바보 같은 질문입니다)하지만 나는 PHP 웹 사이트에 C + + 소켓 프로그램을 연결하는 과정에 있습니다. 현재 나는 문자열을 웹 사이트에 전송할 수 있고 모든 것이 잘 작동합니다 ... 예외 ... PHP가 실행 한 후에 보내진 물건 만 표시합니다 ...동적으로 PHP 웹 사이트를 업데이 트

해결 방법 해결 방법 : 1. 페이지를 어떻게 든 에코의 실행 중일 때 2. 적절한 해결책을 찾으십시오. 즉, TCP 연결을 설정하고 사용자 세션을 유지하십시오 (어떻게해야합니까?) 그런 다음 데이터를 수신하는 페이지 응답자에게 인쇄하는 스크립트를 실행하십시오.

플러시를 시도했습니다 ... 하지 않았다 work

사실, 그것에 대해 생각한 후에 ... 클라이언트가 페이지를 변경하더라도 소켓 TCP 연결을 유지할 수있는 솔루션이 있습니까? 그건 .. http://pastebin.com/hZXKsGN0

내가 코드가 얼마나 쓰레기 알고주의하십시오 :

서버 (C++) : http://pastebin.com/QfaUrF92

클라이언트 (PHP) 즉 유용한 ... Heres는 원인이 될 것이다 단지 테스트하고 내가 무엇을 할 수 있는지 알아 내기 위해 바이올린을 켜는 나는 그것을 할 수있는 방법을

편집 :

내가도없고 통해 내 자신의 롱 폴링 시스템을 impliement하기 위해 노력하고있어 PHP 세션을 C++ 서버에 연결하는 것 ... 세션이 복잡해지면 기꺼이 버릴 수도 있지만, 결국에는 세션을 유지 관리하여 프로세스를 포크로 관리 할 수 ​​있기를 바랍니다. 클라이언트가 브라우저 변경 페이지를 통해

+0

질문은 무엇을 하시겠습니까?그것은 C + +를 PHP 웹 사이트에 연결하는 대신 정보로 데이터 소스 (데이터베이스)를 업데이트하고 PHP에서 가져 오는 "좋은 일"이 아닙니다. 동적 변경은 javacript/ajax에서 PHP/C++가 아닌 javacript/acl로 이루어져야합니다. – Najzero

+0

내 문제는 PHP/www가 아니라 C++ 코더입니다.하지만 불행히도 .. 필요합니다. 저는 그게 도움이된다면 롱 폴링 시스템을 함축하고 .. 나는 단지 시스템을 직접 만들고 싶다. 나는 당신이 브라우저 세션에서 소켓을 유지할 수 없다고 가정 할 것이다. ... 소켓으로 오래 설문 ​​조사 할 수 있는가? ? 그렇지 않으면 ... 어떻게 폴링 시스템을 관리 할 수 ​​있도록 PHP 세션에 C++ 응용 프로그램을 연결할 수 있습니까? –

+0

하나의 솔루션이 SSE (서버 측 이벤트)가 될 수 있습니까? 그런 다음 클라이언트에서 수신 된 데이터를 전송할 수 있습니다. 사이드 이벤트 (즉 양식 보내기) 및 C + +는 절약을 통해 SSE로 사용되는 데이터를 보내 ... 내 유일한 관심사는 확장 성입니다. 작은 규모, 네,이 작동합니다 ..하지만 큰 규모, PHP는 너무 느린 것입니다 ? –

답변

1

PHP가 서버 측에서 실행되므로 일단 페이지가 생성되면 정적입니다. 끊임없이 업데이트 할 페이지 내용이 필요한 경우 웹 소켓 또는 아약스를 사용할 수 있습니다. 기본적으로 AJAX는 페이지가 렌더링 된 후에 브라우저가 자바 스크립트를 사용하여 서버와 대화하도록합니다. jQuery와 같은 라이브러리는 매우 간단합니다.

$.post("test.php", { name: "John", time: "2pm" }) 
.done(function(data) { 
    alert("Data Loaded: " + data); 
}); 
+0

예 Websockets에 대한 자습서가 될 것입니다. 그 기사는 2010 년으로 거슬러 올라가서 많은 것이 바뀌 었습니다. 일부 구형 브라우저에서는 웹 소켓도 지원되지 않습니다. 오래된 브라우저에서 작동하는 무언가가 필요하다면 jQuery, Ajax 요청 및 긴 폴링 콤보를 살펴볼 것입니다. – Brad

0

당신은 NodeJS를 사용할 수 있습니다 JQuery와 문서 (http://api.jquery.com/jQuery.post/)에서

. 서버 측 JavaScript입니다.

NodeJS를 사용하면 브라우저 페이지와 웹 서버간에 소켓 연결을 구축 할 수 있습니다. 이것을 사용하여 서버의 의지로 브라우저에 데이터를 보낼 수 있습니다.

하지만 시작하는 데 시간이 걸릴 수 있습니다.

추천 도서 :

관련 문제