private void InitSocket()
        {
            log.logView        += "Server1 Start...\n";
            server              = new TcpListener(IPAddress.Any, 9991);
            this.stopMachinery += server.Stop;
            clientSocket        = default(TcpClient);
            server.Start();
            log.logView += "Server1 opened successfully\n";

            while (true)
            {
                try
                {
                    log.logView += "Server1 is waiting for clients...\n";
                    clientSocket = server.AcceptTcpClient(); // client 소켓 접속 허용


                    NetworkStream stream = clientSocket.GetStream();

                    byte[] buffer    = new byte[1024]; // 버퍼
                    int    bytes     = stream.Read(buffer, 0, buffer.Length);
                    string user_name = Encoding.Unicode.GetString(buffer, 0, bytes);
                    user_name = user_name.Substring(0, user_name.IndexOf("$")); // client 사용자 명

                    clientList.Add(clientSocket, user_name);                    // cleint 리스트에 추가
                    log.logView += (user_name + " is accepted.\n");

                    HandleClient h_client = new HandleClient(); // 클라이언트 추가
                    h_client.OnReceived      += new HandleClient.MessageDisplayHandler(OnReceived);
                    h_client.OnDisconnected  += new HandleClient.DisconnectedHandler(h_client_OnDisconnected);
                    h_client.OnSent          += new HandleClient.SendJsonHandler(OnSent);
                    h_client.OnSentLoginInfo += new HandleClient.SendLoginJsonHandler(OnSentLoginInfo);
                    h_client.startClient(clientSocket, clientList);
                }
                catch (SocketException se)
                {
                    break;
                }catch (Exception ex)
                {
                    break;
                }
            }

            if (clientSocket != null)
            {
                clientSocket.Close(); // client 소켓 닫기
            }


            log.logView += "Server1 closed\n";
        }
 public void Remove(stopMachineryDelegate stopMethod)
 {
     stopMachineryInstance -= stopMethod;
 }
 public void Add(stopMachineryDelegate stopMethod)
 {
     stopMachineryInstance += stopMethod;
 }
 public Controller()
 {
     //this.stopMachineryInstance += folder.stopFolding;
     this.stopMachineryInstance = new stopMachineryDelegate(folder.stopFolding);
 }