문제

나는 항상 서버에 소켓 연결을 만들고 서버가 페이지 DOM을 조작할 수 있는 방법을 원했습니다.예를 들어, 주식 시세 페이지에서 이를 사용할 수 있으므로 서버는 새로운 시세를 사용할 수 있게 되면 이를 푸시할 수 있습니다.

나는 이것이 HTTP 요청/응답 프로토콜의 고전적인 제한(기능?)이라는 것을 알고 있지만 이것이 Firefox 플러그인으로 구현될 수 있다고 생각합니다(내 응용 프로그램에서는 브라우저 간 호환성이 중요하지 않습니다).Java/Flash 솔루션은 (내가 아는 한) 상자 안에 있고 DOM과 상호 작용할 수 없기 때문에 허용되지 않습니다.

이것이 Firefox 플러그인의 기능 내에 있는지 확인할 수 있는 사람이 있습니까?누군가 이미 이것이나 비슷한 것을 만들었나요?

도움이 되었습니까?

해결책

당신은보고 싶을 수도 있습니다 혜성 이는 서버가 페이지에 업데이트를 푸시할 수 있는 장기 실행 HTTP 연결의 멋진 이름입니다.

다른 팁

가능해야합니다.저는 소켓을 사용하여 TCP 서버에 연결하는 xulrunner 애플리케이션을 개발했습니다.확장 개발에도 동일한 기능이 있을 수 있습니다.나는 mozdev의 라이브러리를 사용했습니다 - JSLib.구체적으로 확인해 보세요. 네트워킹 코드.가 있다는 사실 Firefox용 JSlib 추가 기능용 Firefox 추가 기능 더욱 자신감을 갖게 합니다.

본질적으로 내가 이해하는 바에 따르면 소켓은 JavaScript의 일부가 아니지만 XPCOM을 통해 c/C++ 응용 프로그램에서와 마찬가지로 원시 소켓 액세스를 얻을 수 있습니다.

경고: JSLib은 많은 관심을 받지 못하는 것 같고 메일링 리스트도 꽤 드물습니다.

Java/Flash 솔루션은 허용되지 않습니다. (내가 아는 한) 그들은 상자에 살고 DOM과 상호 작용할 수 없기 때문입니다.

실제로 Java에서는 그렇지 않습니다.JavaScript를 통해 Java와 상호 작용하고 DOM을 변경할 수 있습니다.

http://stephengware.com/proj/javasocketbridge/

이 예에는 상호 작용을 위한 두 가지 JavaScript 메서드가 있습니다.

보내다:

socket_send("This was sent via the socket\n\n");

받다:

on_socket_get(message){ more_code(message); }

Comet을 보고 싶을 수도 있습니다.

일명 서버 푸시.이렇게 하면 서버가 클라이언트 페이지를 직접 "업데이트"할 수 없지만 모든 새 데이터가 단일 연결을 통해 페이지로 전송됩니다.

물론 파이어폭스 확대 (게다가 플러그인, 다른 응용 프로그램에서 수행할 수 있는 모든 작업을 수행할 수 있는 바이너리 라이브러리)는 소켓에서도 작동할 수 있습니다.보다 1, 2.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top