2013-06-11 2 views
1

IP 주소 192.168.1.1로 네트워크 된 오실로스코프와 인터페이스하려고합니다. 웹 서버가 내장되어있어 더 나은 단어가 없기 때문에 짜증납니다. 그것은 iframe 톤을 가지고 있으며 IE에서만 완전히 작동합니다. 저는 오실로스코프와 쉽게 인터페이스 할 수 있고 실시간으로 HighcartsJS로 파형을 표시 할 수있는 오픈 소스 웹 애플리케이션을 개발하는 중입니다.AJAX를 사용하여 로컬 네트워크의 오실로스코프와 인터페이스하십시오.

어쨌든, 난 행운과 인터넷 익스플로러 (I 크롬에서 실행하려는 경우에도)에서이 코드를 실행하려고 해요 : 나는 Internet Explorer에서 파일을 열 때

REMOVED BECAUSE IT HAD SILLY MISTAKES 

내가 볼 수 있습니까 localhost가 192.168.1.1이 아니더라도 URL은 localhost로 다시 작성됩니다. localhost를 입력하면 내 로컬 웹 서버로 이동합니다 (PHP를 사용하여이 POST를 수행 할 수 있다면 열어 둡니다).

어떤 통찰력이라도 대단히 감사합니다. 읽어 주셔서 감사합니다.

편집 :

POST /Comm.html HTTP/1.1 
Accept: text/html, application/xhtml+xml, */* 
Referer: 192.168.1.1/Comm.html 
Accept-Language: en-US 
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0) 
Content-Type: text/plain 
Accept-Encoding: gzip, deflate 
Host: 192.168.1.1 
Content-Length: 38 
DNT: 1 
Connection: Keep-Alive 
Cache-Control: no-cache 
COMMAND=CURVe? 
gpibsend=Send 
name= 
HTTP/1.1 100 Continue 
HTTP/1.1 200 OK 
MIME-Version: 1.0 
Connection: close 
Content-Type: text/html 
Date: TUE -- 
Content-Length: 8506 
<HTML>..NUMBERS/HTML CUT OUT TO SAVE SPACE....22,22,22,2</HTML> 

결론 SO FAR : 여기에 와이어 샤크에서 TCP 스트림이야 내가 내 코드에 여러 문제가 있었다 깨달았다.

$.ajax(
    { 
     url: 'link', 
     dataType: 'text', 
     type: 'post', 
     data: {command: 'BEL', 
       gpibsend: 'Send'}, 
    }) 

을하지만이되지 않습니다 : 그러나,이 작품

$.ajax(
    { 
     url: 'http://192.168.1.1/Comm.html', 
     dataType: 'text', 
     type: 'post', 
     data: {command: 'ZOOM:HORIZONTAL:SCALE?', 
       gpibsend: 'Send'}, 
     success: function(data) 
     { 
      window.alert(data) 
     } 
    }) 
+0

+1 (서버에서) PHP를 통해 AJAX를 통해 전화를 컴퓨터의 LAN 연결

  • 실행 램프/WAMP 서버에 주소를 부여하고 확인 IE에서만 완벽하게 작동합니다. " 와우. 죄송합니다. – iamnotmaynard

  • +0

    디버거 (F12)에 오류가 있습니까? 나는 IE에서, console.log 에러조차도 자바 스크립트를 멈추게 할 것이다. – Sablefoste

    +0

    이것은 당신을 도울지도 모릅니다 ..... http://stackoverflow.com/questions/7213502/how-to-deploy-a-php-application-on-a-lan – KyleK

    답변

    0

    브라우저의 대부분은 아약스 호출을 사용하는 것을 허용하지 않습니다 다음 TCP 추적에 설명 된대로 내가 응답을 읽으려고 해요 해당 스크립트의 출처를 다른 서버로 이동합니다. 그래서 당신의 스크립트에서 잘못된 것 같습니다.

    다른 한편으로 나는 심지어 당신이 서버의 전체 IP 주소를 지정하는 이유를 이해하지 못합니다. 보통 대답을 반환해야하는 파일을 가리키는 것은 괜찮을 것입니다.

    또 다른 것은 웹 서버의 왕이 오실로스코프에서 작동하는 것입니다. 나는 그들이 웹 서버와 함께 발견 할 수있는 공통 기계가 아니기 때문에 원인을 묻는다.

    또한 실시간 업데이트를 원하면 AJAX를 사용하지 마십시오. 웹 소켓을 사용하십시오. Ajax는 기본적으로 웹 사이트를 호출하는 것과 마찬가지로 웹 서버에 대한 호출이며, 데이터를 매우 빨리 가져와야하는 애플리케이션을 만들고 싶을 때 그 프로세스는 매우 길다. 따라서 현명한 사람들은 브라우저에서 사용하기 위해 WebSocket API를 발명했습니다. 알다시피, 소켓은 직접적인 연결이고 그 원인은 당신 자신의 프로토콜을 구현해야합니다. 하지만 오실로스코프와 통신하기 위해 서버 파일을 내부 소프트웨어에 해킹하는 것을 의미 할 수 있으며 0.1 초마다 숫자가 누설됩니다. JS는 그 숫자를 잡아서 결과 테이블에 다른 데이터를 추가하고 전체 플롯을 다시 칠합니다.

    +0

    "서버"가 어떤 종류인지는 모르지만 Internet Explorer에서 작동하는 요청에 대해서는 패킷 분석을 수행했습니다. 어쨌든 localhost에서 이것을 실행할 수 있습니까? 여기 있습니다 : – user2476265

    +0

    코멘트 코드 글자 수 제한으로 인해 원래 게시물에 게시 됨 – user2476265

    +0

    확인. 첫 번째 스 니펫은 http : // hostname/link로 이동하므로 일부 컴퓨팅을 수행하는 항목을 가리키고 있으므로 출력이 있습니다. 두 번째 스 니펫에서는 html 파일을 가리키며, 그래서 당신이 부르는 사랑스러운 경고는 모든 html이어야합니다. 아직도, 나는 당신이 지금 달성하고자하는 것을 모른다. –

    0

    누구든지 Google에서이 문제를 발견 할 경우를 대비해 후속 조치를 취하고 싶습니다.여러 옵션이 여기에 있습니다 :

    1. 호스트 도메인의 웹 사이트, 당신의 호스트 파일을 편집하고 LAN IP 주소

    2. 모든 VPN 액세스를 만들려면 웹 사이트의 도메인의 하위 도메인을 가리 킵니다 고정 IP에서 기계는 다음 오실로스코프의 도메인 이름 서버를 변경하려면 자신의 DNS를 호스팅하고 해결 할 수있는 경우

    3. 을 비활성화 보안 기능으로 브라우저를 실행하여 해결 Y이가 iframe의 톤을 가지고 있으며 "에 대한