private void Listen() { while (_IsListen) { byte[] buffer = new Byte[1024]; // 수신되는 버퍼 Socket sockMCS = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { Console.WriteLine("Waiting Connect - FMS"); sockMCS = listen.Accept(); // 접속때까지 기다림. Console.WriteLine("connected - FMS"); try { if ((sockMCS == null) || (!sockMCS.Connected)) { // 연결이상, 다시 루프로 sockMCS = null; continue; } else if (sockMCS.Connected) { int length = sockMCS.Receive(buffer); byte[] tmp_arr = new byte[length]; //Console.WriteLine("buffer's length : " + length + "tmp_arr's length : " + tmp_arr.Length); for (int i = 0; i < length; i++) { tmp_arr[i] = buffer[i]; ///Console.Write(tmp_arr[i].ToString()); } ClassConvert c = new ClassConvert(); Console.WriteLine(c.byteToString(tmp_arr)); process(tmp_arr); // data process sockMCS.Shutdown(SocketShutdown.Both); sockMCS.Close(); sockMCS = null; } } catch (Exception err) { ld.logDate(err.ToString()); } } catch (System.Threading.ThreadAbortException) { try { sockMCS.Shutdown(SocketShutdown.Both); sockMCS.Close(); sockMCS = null; } catch { } if (sockMCS != null) { sockMCS = null; } continue; } } }