feat: NICE CI 소켓 통신 추가

- 전문 응답 parsing
dev
Jonguk. Lim 2 months ago
parent b46b24b6b6
commit 54ad7bfafa

@ -89,40 +89,51 @@ public class NiceCiApiService {
private String sendNiceCiSocket(final String binTxt) { private String sendNiceCiSocket(final String binTxt) {
String rtnMsg = ""; String rtnMsg = "";
// FIXME : test rtn message
final String niceCiRes = "0000002310NICEIF 021031896N503P000Z755400 000000010320240919 466241822620240919160011 1013민자도로 관리지원센터에서 김해찬님께 발송한 미납통행료 고지서가 도착했습니다.\n"
+ "\n"
+ "민자도로 미납통행료 고지서\n"
+ "\n"
+ "□ 차량번호 : 19너0914\n"
+ "□ 미납발생 노선 : 서울-문산\n"
+ "□ 미납발생 기간 : 2021년 04월 12일~2023년 08월 30일\n"
+ "□ 납부금액 : 819,500원(42건)\n"
+ "□ 납부기한 : 2024년10월01일\n"
+ "□ 납부방법 : \n"
+ "① 하단의 (납부하기) 클릭\n"
+ "② 가상계좌 납부\n"
+ "-(가상계좌) : 농협은행 792000-36-986609\n"
+ "국민은행 731190-72-253083\n"
+ "우리은행 283752-73-918780\n"
+ "신한은행 562146-27-470101\n"
+ "\n"
+ "※ 알림톡 수신 시 종이고지서는 발송되지 않습니다.\n"
+ "\n"
+ "문의처 : 044-211-3377 0442113377 3 18912111020220김해찬 01084289916 0010108428991620240919160011 ";
try (Socket socket = new Socket(HOST, PORT); // 서버에 연결 try (Socket socket = new Socket(HOST, PORT); // 서버에 연결
BufferedWriter out = new BufferedWriter( BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream(), Charset.forName("EUC-KR")));){ new OutputStreamWriter(socket.getOutputStream(), Charset.forName("EUC-KR")));
//new OutputStreamWriter(socket.getOutputStream())); //new OutputStreamWriter(socket.getOutputStream()));
//BufferedReader in = new BufferedReader( BufferedReader in = new BufferedReader(
// new InputStreamReader(socket.getInputStream(), Charset.forName("EUC-KR")))) { new InputStreamReader(socket.getInputStream(), Charset.forName("EUC-KR")))) {
//InputStreamReader in = new InputStreamReader(socket.getInputStream(), Charset.forName("EUC-KR")){
try { try {
InputStreamReader in = new InputStreamReader(socket.getInputStream(), Charset.forName("EUC-KR"));
socket.setSoTimeout(TIMEOUT); // 읽기 타임아웃 설정 socket.setSoTimeout(TIMEOUT); // 읽기 타임아웃 설정
out.write(binTxt); out.write(binTxt);
// FIXME: 테스트 소켓서버 통신을 위해 임시로 추가 : 테스트 완료후 제거 // FIXME: 테스트 소켓서버 통신을 위해 임시로 추가 : 테스트 완료후 제거
out.write("\nEXIT"); out.write("\nEXIT");
out.newLine(); out.newLine();
out.flush(); // FIXME: 테스트 소켓서버 통신을 위해 임시로 추가 : 테스트 완료후 제거
StringBuffer sb = new StringBuffer();
//String message;
//while ((message = in.readLine()) != null) {
// sb.append(message);
//};
char[] chars = new char[4096]; out.flush();
//in.read(chars);
while((in.read(chars) != -1)) { //StringBuffer sb = new StringBuffer();
sb.append(new String(chars)); //String rtnMsg = in.readLine();
}
rtnMsg = sb.toString();
System.out.println("=============>>>서버 응답(EUC-KR로 읽어온 값)<<<===================================="); System.out.println("=============>>>서버 응답(EUC-KR로 읽어온 값)<<<====================================");
System.out.println(rtnMsg); System.out.println(niceCiRes);
System.out.println("=============>>>서버 응답(EUC-KR로 읽어온 값)<<<===================================="); System.out.println("=============>>>서버 응답(EUC-KR로 읽어온 값)<<<====================================");
in.close(); in.close();
} catch (Exception e) { } catch (Exception e) {
@ -136,6 +147,6 @@ public class NiceCiApiService {
} catch (IOException e) { } catch (IOException e) {
throw BizRuntimeException.create(e.getMessage()); throw BizRuntimeException.create(e.getMessage());
} }
return rtnMsg; return niceCiRes;
} }
} }

Loading…
Cancel
Save