2011-09-28 1 views
0

그래서 저는 PHP로 데몬을 작성했으며 동일한 브라우저에서 두 개의 탭을 열면이 오류가 발생하기 시작했습니다. 메시지가 전송 될 때 첫 번째 탭은 메시지를 가져 오지만 다른 메시지는 두 번째 메시지가 전송 될 때까지 2 개의 탭이 동일한 소켓으로 처리됩니다. 3 탭이 열리면 3을 번갈아 표시합니다. 3.이 문제를 해결할 방법이 있습니까? PHP 소켓 데몬, 브로드 캐스트가 전송 될 때까지 제 2 창 탭이 처리되지 않습니다.

그냥이 창을 탭 z.daemon.php PHP : :

데몬에 링크 및 클라이언트 : Daemon Client 명령 줄 을 듣고 = 액션 client.php 그런 다음 실행 : client.php 행동 = broadcast & 브로드 캐스트 = 테스트

- 편집 - 또한 수신 대기중인 두 번째 탭 창은 클라이언트로 명령 줄 출력에 표시되지 않습니다.

- 편집 - 기본적으로 socket_select에 고유 한 ID를 보내어 새로운 것인지 아닌지 알아낼 수 있습니까?

답변

0

페이지에 임의의 ID를 생성하고이를 사용하여 쿼리 문자열을 사용하여 개별 클라이언트를 식별합니다.

+0

어떻게 할 수 있으며 socket_select를 사용하여 식별 할 수 있습니까? 두 번째 탭 창은 명령 행 출력 노트에 연결되었음을 표시하지 않기 때문입니다. – David

+0

직렬화 된 데이터에 ID를 패키지화하지 않는 이유는 무엇입니까? 그리고 programaticaly는 데몬에서 적절한 클라이언트에 응답을 반환 할시기를 결정합니다. – Scuzzy

+0

두 번째 탭이 연결되었을 때 데몬이 보여 주면됩니다. 그것은 2 번째 연결이되어서 뭔가를 붙일 수 없다는 것을 보여줍니다. – David

관련 문제