예제 #1
0
        void s_OnMessage2(XPloitSocket sender, XPloitSocketClient cl, IXPloitSocketMsg msg)
        {
            // Server receive msg
            XPloitMsgString msgS = (XPloitMsgString)msg;

            //XPloitTelnetProtocol.Send(cl, XPloitTelnetProtocol.GetColorMessage());
            //XPloitTelnetProtocol.Send(cl, new byte[] { 255, 247 });
            XPloitTelnetProtocol.Send(cl, "Received: " + msgS.Data + Environment.NewLine);

            //isover = true;
        }
예제 #2
0
        public virtual int Send(IXPloitSocketMsg msg, Stream stream)
        {
            if (stream == null || msg == null)
            {
                return(0);
            }

            byte[] bff;
            switch (msg.Type)
            {
            case EXPloitSocketMsg.String:
            {
                XPloitMsgString send = (XPloitMsgString)msg;
                bff = _Codec.GetBytes(send.Data);
                break;
            }

            case EXPloitSocketMsg.ByteArray:
            {
                XPloitMsgByteArray send = (XPloitMsgByteArray)msg;
                bff = send.Data;
                break;
            }

            default: { bff = msg.Serialize(_Codec, null); break; }
            }

            int length = bff.Length;

            if (length == 0)
            {
                return(0);
            }

            stream.Write(bff, 0, length);
            return(length);
        }