목차

TCPCOMM 가이드

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

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

예시

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

템플릿 파일

화면 스크립트

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
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);
}