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(); }