2008-08-16 12 views
4

저는 항상 서버에 소켓 연결을 만들고 서버가 페이지 DOM을 조작 할 수있는 방법을 원했습니다. 예를 들어 주식 시세 페이지에서이 값을 사용할 수 있으므로 서버는 새로운 시세가 나오면이를 밀어 올릴 수 있습니다.Firefox 플러그인 - 소켓

이것은 HTTP의 요청/응답 프로토콜의 고전적인 제한 사항 (기능)이지만이 기능은 Firefox 플러그인으로 구현 될 수 있다고 생각합니다. 크로스 브라우저 호환성은 내 응용 프로그램에서는 중요하지 않습니다. Java/Flash 솔루션은 받아 들여지지 않습니다. 왜냐하면 (내가 아는 한) 그들은 박스에 살며 DOM과 상호 작용할 수 없기 때문입니다.

누구든지 Firefox 플러그인의 기능을 사용할 수 있는지 확인할 수 있습니까? 누군가 이미이 물건이나 비슷한 물건을 만들었나요?

답변

2

Comet은 서버가 페이지로 업데이트를 푸시 할 수있는 장기 실행 HTTP 연결의 멋진 이름입니다.

0

당신은 혜성

일명, server push보고 할 수 있습니다. 이렇게해도 서버가 클라이언트 페이지를 직접 "업데이트"하지는 않지만 모든 새 데이터는 단일 연결을 통해 페이지로 전송됩니다.

물론 파이어 폭스 extension (다른 응용 프로그램에서도 할 수있는 바이너리 라이브러리 인 plugins)은 소켓에서도 작동 할 수 있습니다. 1, 2을 참조하십시오.

2

가능해야합니다. 소켓을 사용하여 TCP 서버에 연결하는 xulrunner 응용 프로그램을 개발했습니다. 확장 개발은 아마도 동일한 기능을 가질 것입니다. mozdev의 라이브러리 (JSLib)를 사용했습니다. 특히 networking code을 확인하십시오. Firefox add-on for JSlib add-on for Firefox이라는 사실은 더욱 확신을 갖게합니다.

기본적으로, 소켓은 JavaScript의 일부가 아니지만 XPCOM을 통해 모든 c/C++ 응용 프로그램에서와 같이 원시 소켓 액세스를 얻을 수 있습니다.

경고 : JSLib는 많은 관심을받지 못하고 메일 링리스트가 꽤 희박합니다. (내가 아는 한) 가 상자에 살고 DOM과 상호 작용 할 수 없기 때문에

1

자바/플래시 솔루션은 허용되지 않습니다.

사실 자바와 맞지 않습니다. JavaScript를 통해 Java와 상호 작용하고 DOM을 변경할 수 있습니다.

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

가 수신 :이 예에서

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

상호 작용을위한 두 개의 자바 스크립트 방법은

보내기가

on_socket_get(message){ more_code(message); }