Exemple #1
0
        public static void OutProdDataProc()
        {
            while (true)
            {
                Thread.Sleep(1);

                TcpClient client = TcpIpServer.GetOutClient();

                Console.WriteLine("출고 로봇 :{0}", ((IPEndPoint)client.Client.RemoteEndPoint).Address.ToString());
                Console.WriteLine();

                NetworkStream stream = client.GetStream();

                int    length;
                string data  = null;
                byte[] bytes = new byte[256];

                // 로봇으로 부터 메세지 수신하는 루틴

                string sRcvMessage = "";

                while ((length = stream.Read(bytes, 0, bytes.Length)) != 0)
                {
                    data = Encoding.Default.GetString(bytes, 0, length);
                    Console.WriteLine(String.Format("수신 : {0}", data));
                    sRcvMessage = data;

                    byte[] msg = Encoding.Default.GetBytes(data);
                    stream.Write(msg, 0, msg.Length);
                    Console.WriteLine(String.Format("송신: {0}", data));

                    if (sRcvMessage == "ROBOT_POS")
                    {
                        // 함수 호출
                    }
                    else if (sRcvMessage == "PROD_QRCODE")
                    {
                        // 함수 호출
                    }
                    else if (sRcvMessage == "hello")
                    {
                        string snd_msg = "hi hi";
                        byte[] msg2    = Encoding.Default.GetBytes(snd_msg);
                        stream.Write(msg2, 0, msg2.Length);
                        Console.WriteLine(String.Format("송신: {0}", snd_msg));
                    }
                }


                stream.Close();
                client.Close();
            }
        }
 static void Main(string[] args)
 {
     server = new TcpIpServer();
 }