목차

TCPCOMM 가이드

이 화면은 TCP클라이언트 컴포넌트에 대한 샘플 화면이다.

TCP클라이언트 컴포넌트는 TCP 클라이언트 소켓 기능을 제공하는 컴포넌트이다.

예시

템플릿 위치: /HTML5/COMPONENT/TCPCOMM/tcpcomm_basic

템플릿 파일

화면 스크립트

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);
}