====== TCPCOMM 가이드 ======
이 화면은 TCP클라이언트 컴포넌트에 대한 샘플 화면이다.
TCP클라이언트 컴포넌트는 TCP 클라이언트 소켓 기능을 제공하는 컴포넌트이다.
===== 예시 =====
템플릿 위치: /HTML5/COMPONENT/TCPCOMM/tcpcomm_basic
템플릿 파일
* [[xf5projecthome>template/screen/HTML5/COMPONENT/TCPCOMM/tcpcomm_basic.xml|tcpcomm_basic.xml]]
* [[xf5projecthome>template/screen/HTML5/COMPONENT/TCPCOMM/tcpcomm_basic.js|tcpcomm_basic.js]]
* [[xf5projecthome>template/template.html?xframe_screen_url=/HTML5/COMPONENT/TCPCOMM/tcpcomm_basic|새창으로 실행]]
echo '';
echo '';
echo '';
==== 화면 스크립트 ====
function btnInitXCltComm_on_mouseup(objInst)
{
// 초기화
tcpcomm01.init();
}
function btnConnectSession_on_mouseup(objInst)
{
// 연결
tcpcomm01.open();
}
function btnCloseSession_on_mouseup(objInst)
{
// 연결 해제
tcpcomm01.close();
}
function btnSendData_on_mouseup(objInst)
{
var strSendData = fldSendData.gettext();
// 데이터 송신
tcpcomm01.send(strSendData);
}
function btnSendDataAndClose_on_mouseup(objInst)
{
var strSendData = fldSendData.gettext();
tcpcomm01.send(strSendData);
tcpcomm01.close();
}
function btnClearData_on_mouseup(objInst)
{
// 수신 데이터 정보 초기화
fldRecvDataLength.settext("");
fldRecvData.settext("");
}
function btnSetServerInfo_on_mouseup(objInst)
{
var strTcpSvrIpAddr = fldTcpSvrIpAddr.gettext();
var nTcpSvrPortNo = fldTcpSvrPortNo.gettext();
// 서버 IP, 포트 지정
tcpcomm01.setserverinfo(strTcpSvrIpAddr, nTcpSvrPortNo);
}
function btnSetConnectTimeout_on_mouseup(objInst)
{
var nConnectTimeout = fldConnectTimeout.gettext();
// 세션 연결 타임아웃 시간 지정
tcpcomm01.setconnecttimeout(nConnectTimeout);
}
function btnSetSendTimeout_on_mouseup(objInst)
{
var nSendTimeout = fldSendTimeout.gettext();
// 데이터 송신 타임아웃 시간
tcpcomm01.setsendtimeout(nSendTimeout);
}
function btnSetLogFlag_on_mouseup(objInst)
{
var nLogFlag = fldLogFlag.gettext();
// 로그 기록 여부 플래그 설정
tcpcomm01.setlogflag(nLogFlag);
}
function btnIsConnected_on_mouseup(objInst)
{
// 현재 연결 상태 조회
var nRet = tcpcomm01.isconnected();
fldIsConnected.settext(nRet);
}
/////////////////////////////////////////////////////////////////////////////////////////
// EVENT
/////////////////////////////////////////////////////////////////////////////////////////
/**
* 모듈 로딩 완료 및 컴포넌트 초기화 성공시 이벤트
* @param objInst TCP클라이언트 컴포넌트 오브젝트
*/
function tcpcomm01_on_init(objInst)
{
factory.consoleprint(objInst.getname() + "_on_init>");
console.log(objInst.getname() + "_on_init>");
}
/**
* TCP 세션 연결시 이벤트
* @param objInst TCP클라이언트 컴포넌트 오브젝트
* @param nLocalPort 연결된 세션의 로컬포트
*/
function tcpcomm01_on_open(objInst, nLocalPort)
{
factory.consoleprint(objInst.getname() + "_on_open : " + nLocalPort);
console.log(objInst.getname() + "_on_open : " + nLocalPort);
}
/**
* 데이터 수신시 이벤트
* @param objInst TCP클라이언트 컴포넌트 오브젝트
* @param nDataLen 수신한 데이터 길이
* @param strData 수신한 데이터
*/
function tcpcomm01_on_recv(objInst, nDataLen, strData)
{
factory.consoleprint(objInst.getname() + "_on_recv : " + nDataLen);
factory.consoleprint("strData = " + strData);
console.log(objInst.getname() + "_on_recv : ", arguments);
fldRecvDataLength.settext(nDataLen);
fldRecvData.settext(objInst.getname() + " : " + strData);
}
/**
* TCP 세션 해제시 이벤트
* close 함수 호출시에는 이벤트가 발생하지 않는다.
* @param objInst TCP클라이언트 컴포넌트 오브젝트
* @param nEventId 세션 해제 원인 코드
* @param strEventMsg 세션 해제 오류 메시지
*/
function tcpcomm01_on_close(objInst, nEventId, strEventMsg)
{
screen.alert(objInst.getname() + "_on_close : " + nEventId + ", " + strEventMsg);
}
/**
* 에러 발생시 이벤트
* @param objInst TCP클라이언트 컴포넌트 오브젝트
* @param nErrorCode 에러코드
* @param strErrorMsg 에러메시지
*/
function tcpcomm01_on_error(objInst, nErrorCode, strErrorMsg)
{
screen.alert(objInst.getname() + "_on_error : " + nErrorCode + ", " + strErrorMsg);
}