TCPCOMM 가이드
이 화면은 TCP클라이언트 컴포넌트에 대한 샘플 화면이다.
TCP클라이언트 컴포넌트는 TCP 클라이언트 소켓 기능을 제공하는 컴포넌트이다.
예시
화면 스크립트
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); }