Firefox 플러그인 - 소켓
문제
나는 항상 서버에 소켓 연결을 만들고 서버가 페이지 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); }