示例#1
0
        public void RecvData(Socket sock, String msg)
        {
            String ip;
            int    port;

            server.GetRemoteIpPort(sock, out ip, out port);
            Console.WriteLine(">> {0}:{1} {2}\t{3}",
                              ip, port, msg, DateTime.Now.ToString());

            try
            {
                server.SendAllData(sock, msg, msg.Length);
                //server.SendData(sock, msg, msg.Length);
            }
            catch (Exception ex)
            {
                Console.WriteLine("[전송에러]" + ex.Message);
            }
        }
示例#2
0
        public void RecvData(Socket sock, String msg)
        {
            //1, 데이터 수신
            String ip;
            int    port;

            server.GetRemoteIpPort(sock, out ip, out port);
            Console.WriteLine(">> {0}:{1} {2}\t{3}",
                              ip, port, msg, DateTime.Now.ToString());

            //2. 데이터 처리
            String packet = PacketParser.DataParser(memlist, msg);

            //3. 결과 전송
            try
            {
                //패킷의 0번째 문자열 분석해서 전체, 개인에게 보내는것을 분류
                String[] split = packet.Split('\a');

                if (split[0].Equals("WB_ADDMEMBER_ACK_S") ||
                    split[0].Equals("WB_ADDMEMBER_ACK_F") ||
                    split[0].Equals("WB_LOGIN_ACK_S") ||
                    split[0].Equals("WB_LOGIN_ACK_F"))
                {
                    server.SendData(sock, packet, packet.Length);
                }
                else
                {
                    server.SendAllData(sock, msg, msg.Length);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("[전송에러]" + ex.Message);
            }
        }