pangs 5 gadi atpakaļ
vecāks
revīzija
858ff87fad

+ 2 - 1
bridge/src/com/icontrols/bridge/common/COMMON_INFO.java

@@ -1,7 +1,8 @@
 package com.icontrols.bridge.common;
 
 public class COMMON_INFO {
-	public static final String LINUX_PROPERTIES_DIR = "/service/bridge/application.dat";
+	public static final String LINUX_PROPERTIES_DIR = "/home/valley/bridge/application.dat";  // 카카오 데모용 서버
+//	public static final String LINUX_PROPERTIES_DIR = "/service/bridge/application.dat";  // 61.33.215.54번 테스트 단지서버
 	public static final String WINDOWS_PROPERTIES_DIR = "D:\\temp\\bridge_jar\\application.dat";
 	
 }

+ 20 - 5
bridge/src/com/icontrols/bridge/wallpad/MsgServerHandler.java

@@ -47,11 +47,16 @@ public class MsgServerHandler extends Thread {
 	}
 	
 	public void run() {
+		InputStream is = null;
+		InputStreamReader isr = null;
+		BufferedReader br = null;
 		try {
-			InputStream is = clientSocket.getInputStream();
+			is = clientSocket.getInputStream();
+			isr = new InputStreamReader(is, "euc-kr");
+			
 			clientSocket.setSoLinger(true, 3000);
 			
-			BufferedReader br = new BufferedReader(new InputStreamReader(is, "euc-kr"));
+			br = new BufferedReader(isr);
 			rcvMsgStr = "";
 			
 			StringBuffer sbRcvMSG = new StringBuffer();
@@ -103,7 +108,16 @@ public class MsgServerHandler extends Thread {
 			}
 			
 			logger.info(" :: >> " + rcvMsgStr);
+		}catch(Exception e) {
+			
+		}finally {
+			try { if(!clientSocket.isClosed()) clientSocket.close(); }catch(Exception e) { }
+			try { br.close(); } catch(Exception e) { }
+			try { isr.close(); } catch(Exception e) { }
+			try { is.close(); } catch(Exception e) { }
+		}
 			
+		try {
 			rcvMsgStr = rcvMsgStr.substring(rcvMsgStr.indexOf("<")); // 이 부분에 대한 예시 데이터가 있으면 이해하기 좋을거 같다. 테스트 하면서 뽑아내고 주석으로 잘아보자.
 																	 // 내가 생각하기엔 앞에 공백이 있을 경우? 혹은 다른 문자가 있을경우를 대비하기 위함이지 않을까 생각한다.
 			// 이벤트명 가져오기
@@ -147,7 +161,7 @@ public class MsgServerHandler extends Thread {
     			
     			Runnable task = () -> {
     				Socket danziSocket = null;
-    				
+    				DataOutputStream outStream = null;
     				try {
     					danziSocket = new Socket();
     					danziSocket.setSoLinger(true, 3000);
@@ -157,7 +171,7 @@ public class MsgServerHandler extends Thread {
     					InetSocketAddress iSocAddr = new InetSocketAddress(service.getAddress(), service.getPort());
     					danziSocket.connect(iSocAddr, SOCKET_WAIT_TIME);
     					
-    					DataOutputStream outStream = new DataOutputStream(danziSocket.getOutputStream());
+    					outStream = new DataOutputStream(danziSocket.getOutputStream());
     					String sendMsg = rcvMsgStr + "\r\n";
     					byte[] outBF = sendMsg.getBytes("euc-kr");
     					
@@ -177,7 +191,7 @@ public class MsgServerHandler extends Thread {
     					StringBuffer errSB = new StringBuffer();
     					
     					errSB.append("\n***************************************************\n")
-    					.append("   F A I L   T O \"+ service.getPort() + \"   S E N D   E V E N T   ! ! ! !  \n")
+    					.append("   F A I L   T O "+ service.getPort() + "   S E N D   E V E N T   ! ! ! !  \n")
     					.append("   ERROR MESSAGE = " + e.getMessage() + " \n")
     					.append("***************************************************");
     					
@@ -187,6 +201,7 @@ public class MsgServerHandler extends Thread {
     				} finally {
     					try {
     						Thread.sleep(100);
+    						outStream.close();
     						danziSocket.close();
     					} catch (Exception e) {
     						e.printStackTrace();

+ 1 - 1
bridge/src/main/resources/logback.xml

@@ -6,7 +6,7 @@
         <prudent>true</prudent>
 
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>log/Bridge_Log_%d{yyyy-MM-dd}.log</fileNamePattern>
+            <fileNamePattern>bridge/log/Bridge_Log_%d{yyyy-MM-dd}.log</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">