2011-07-26 3 views
5

안녕 PHP로 작성된 실행중인 소켓 서버가 있습니다.Javascript 클라이언트가 어떻게 PHp 소켓 서버에 연결할 수 있습니까?

서버가 연결을 수신 대기 중입니다. 내 클라이언트 (자바 스크립트로 작성)가 서버에 연결하여 데이터를 전송하는 방법을 알 수 있습니까?

추신 : 나는 PHP 클라이언트를 소켓 서버에 연결하는 방법을 알고 있지만 자바 스크립트 클라이언트를 연결하는 방법은 잘 모릅니다.

감사합니다.

+0

자바 스크립트는 클라이언트 측 스크립팅이며 afaik는 오프닝 소켓을 제공하지 않습니다. 나는 그것이 쓰기의 시점에서 가능하다고 생각하지 않는다. –

+1

실행중인 JS 환경은 무엇입니까? 마디? WSH? ASP? 브라우저 플러그인? 웹 페이지를 보는 브라우저? 다른 것? – Quentin

+0

@Lionel Chan - JS는 일반적인 프로그래밍 언어이며 호스트 환경에서 오는 많은 I/O 기간을 제공하지 않습니다. – Quentin

답변

-1

간단히 말하면 클라이언트 쪽 코드가 소켓 연결을 열 수 있도록하는 것이 보안 위반 일 수 있습니다.

그러나 시뮬레이션 할 수 있습니다 - 데이터를 다른 PHP 페이지로 AJAX 요청으로 보낸 다음 PHP 페이지가 소켓을 통해 통신하도록하십시오.

업데이트 2017 : 그 동안

websockets는 일이되었다. websocket 프로토콜은 다른 것입니다. generic networking sockets

+0

Ummm : http://code.google.com/p/phpwebsocket / – Relic

0

JS에 대해 임의의 소켓 기능을 제공하는 것에 대해서는 잘 모릅니다. Web Sockets에 대한 지원이 제한되어 있습니다 (공간을 준수하도록 서버를 수정해야 할 것입니다). 그렇게하지 못하면 간단한 XHR이 사용자의 요구를 충족시킬 수 있습니다 (서버를 웹 서비스로 작동하도록 수정해야 함). 서비스가 페이지와 다른 원산지에서 실행되는 경우 CORS을 사용하거나 JSONP과 같은 해결 방법을 사용해야합니다.

4

내가 구글을 통해처럼 사람들이 그것을 찾을 경우 오래된 질문에 대답.

요즘 거의 모든 최신 브라우저는 WebSocket Javascript API를 지원합니다. WS를 통해 브라우저의 클라이언트 JS가 PHP 또는 다른 언어로 작성된 서버로 전이중 소켓을 열 수 있습니다. 서버는 WS 프로토콜을 구현해야하지만 PHP, Java 및 기타 언어 용 WS 라이브러리가 있습니다.

WS 구현은 여전히 ​​움직이는 대상 같지만 WS/JS 브라우저 클라이언트가 WS/Java 서버와 통신하면서 현재 작동하고있는 것처럼 보입니다.

WS 구현에 대한 검색을 원하는 서버 언어로 제안하십시오.

희망이 도움이됩니다.

관련 문제