나는 C2DM을 사용하는 안드로이드 응용 프로그램을 쓰고 있습니다. 사용자가 서버에 메시지를 보내면 서버는 보낸 사람에게 다시 응답하고 그 메시지를 네트워크의 다른 사용자 집합에 전달합니다.PHP를 사용하여이 시나리오를 어떻게 구현합니까?
문제는 메시지가 다른 모든 사람에게 전달 될 때까지 보낸 사람에게 회신이 지연된다는 것입니다. 이것은 많은 시간을 필요로합니다. 회신을 보낸 사람에게 먼저 보내고 전달 프로세스를 수행하기를 원합니다. 어떻게 이걸 얻을 수 있니? 병렬 처리를 사용할 수 있다면 PHP에서 어떻게 처리 할 수 있습니까? 어떤 도움은 매우 while 루프가 실행될 때까지, 보낸 사람에게 전송되지 않습니다 "성공적으로 삽입"여기, 나는 이런 식으로 뭔가를 사용했다
:
print(json_encode("Inserted Successfully"));//." ".count($tags)));
while($row = mysql_fetch_row($result))
{
$id = $row[0];
sendMessageToUserID($id,"New Question !!",$ques_id,"yyyy");
}
감사하지만 될 것이다.
당신은 초기 버퍼를 플러시 강제로 시도 할 수 있습니다하려고합니다. 그러나 'Microsoft Internet Explorer의 일부 버전은 256 바이트 출력을받은 후에 페이지를 표시하기 시작하므로 플러시하기 전에 여분의 공백을 보내야 브라우저에 페이지를 표시 할 수 있습니다.' 좀 더 웅장한 계획에서 더 나은 접근법은 배경 작업 (예 : cron 또는 일종의 작업/메시지 대기열)이 느린 부분을 비동기 적으로 처리하도록하는 것입니다. –
위의 코드에서 print 문 다음에 flush()를 사용했지만 아무런 차이가 없었습니다. 나는 cron 작업이 리눅스에서만 작동하고, 내가 틀렸다면 나를 비추는다고 들었다. 다른 방법이 있습니까? – Kishan
모든 OS에는 일종의 프로세스 스케줄링이 있습니다. 예 : http://stackoverflow.com/questions/132971/what-is-the-windows-version-of-cron –