기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
어제 webserver 관련 답변 주신 분께 감사드립니다.
그 글로 도움으로 기본기능(I/O)제어는 가능하게 되었습니다.
그런데, 혹시 이건은 어떠한 방양으로 가야하는지..
기본제어는 CGI를 이용하거나 system 명령을 만들어 제어를 하도록 하였습니다.
그런데, 실시간으로 입력되는 Input 상태를 어떻게 표시를 해야하는지 궁금해지더군요.
웹페이지에서 시간을 표시하는 방법에 대해서 본적은 있지만 실시간으로 움직이는 Input 값을
웹페이지에서 볼 수는 없는 것입니까? 결국은 페이지리뷰 방식으로 밖에 안되나요?
PS : 예전에 오실로스코프(텍트로닉스 모델명 까물...)를 구입한적 있습니다.
그때 충격적으로 보았던 것이 이더넷과웹브라우저를 이용하여 파형보기 였습니다.
현장에서는 보는 것처럼 수시로 변화하는 것은 아니였지만 일정한 간격(약 10초?)으로 화면이 변화였지요...
이런 것을 해보면 어떻까 했는데.. 지금에 와서 다시 궁금해지네요...
## ㅡㅡ; 답글 쓰다 다썼는데.. 날라갔어용....ㅡㅡ;
web page에서 데이터를 refresh하기위해 3가지 방법이 있습니다.
1. html페이지에 refresh 테그를 삽입하여 페이지 전체를 refresh되도록 하는방법
<head>
<meta http-equiv="refresh" content="[갱신할 초];[http://주소]">
~~</head>
; 페이지 전체가 깜박이는 현상때문에 값을 변경하기위해서는 사용하지 않습니다.
대신 페이지 전체내용을 자동으로 이동하거나 변경하기위해 사용합니다.
2. DHTML방식을 이용한 Javascript 방식
<html>
<head>
<script language="javascript">
function chvalue( v )
{
getElementById('g_value').innerHTML=v;
}
</script>
</head>
<span id="g_value">1,000</span>
<form><input type="button" onclick="chvalue('2,000');"></form>
</html>
;간단히.. 이런방식입니다.
3. ajax
# 우선 prototype.js파일을 인터넷을 통해 최신 버젼을 받습니다. ajax를 동작시키기 위한 소스 스크립트입니다.
<html>
<head>
<script src="prototype.js"></script>
<script>
<!--
function GetValue()
{
new Ajax.Request( 'getvalue.php', {
onLoading: function() { }, onSuccess: function() { }, onFailure: function() { },
onComplete: function( transport ) {
// 값을 갖고옵니다.. 이때는 XML인지, 아니면 TEXT Value인지에 따라 스크립트가 다릅니다.
// 참고로 XML의 경우
var values = transport.responseXML.getElementByTagName( '[XML테그네임]');
for( var i = 0; i < values.length; i++ ) {
var value = values[i].firstChild.nodeValue;
getElementById('g_value').innerHTML=value;
}
window.setTimeout(GetValue, 500);
} );
// 만약 갖고와야할 값이 TEXT Value일경우는 간단합니다.
new Ajax.Updater( 'g_value2', 'getvalue2.php');
}
이런 코드를 사용하시면 됩니다.
getvalue.php를 어떤 값을 생성해내는 cgi로 사용하시면 되구요..
ajax문서를 검색해 보시면 많은 examples이 나옵니다.. 구글님이 잘 찾아주시니.....^^
단, 참고하실 사항은 ajax의 경우 Request 세션이 종료되기전에 또다른 Request를 호출하게되면
이전 세션이 계속 남게되서.. 결국 메모리 누수현상이 발생합니다...
Request할때 Request에 response가 잘 들어왔는지 점검한뒤 setTimeout하셔야 할 것입니다.
이부분은 잘 고민하시기 바랍니다.
그럼.. 수고하세요~
webserver에 대한 문의가 아니고 웹페이지 작성에 대한 질문이군요.
원하시는 것은 서버 내부에 web page를 자동으로 만들어주는 코드가 있어야 할 것 같고 웹페이지에는 자동으로 갱신하는 코드가 들어있으면 됩니다. 웹페이지 자동갱신은 "웹페이지 자동 리프레쉬"로 구글링하시면 자바스크립트를 보실수 있습니다. 유사한 예가 야구 문자 중계같은 것이 아니까 생각됩니다. 시간 설정하면 주기적으로 화면을 갱신시켜주니까요.
제가 검색한 URL입니다.
http://www.hmbc.co.kr/hboard3/bbs/board.php?bo_table=bbs06_03&wr_id=35&sfl=&stx=&sst=wr_hit&sod=asc&sop=and&page=5