예제 #1
0
 public void SendText(string data)
 {
     Protocol.DataContent dataContent = new Protocol.DataContent();
     dataContent.SockMgr = this;
     dataContent.Type    = Protocol.DataProtocolType.Text;
     dataContent.Data    = data;
     _protocolStack.FromHighLayerToHere(dataContent);
 }
예제 #2
0
 public void SendSmallFile(Protocol.SmallFileDataObject dataObject)
 {
     // load DataContent
     Protocol.DataContent dataContent = new Protocol.DataContent();
     dataContent.SockMgr = this;
     dataContent.Type    = Protocol.DataProtocolType.SmallFile;
     dataContent.Data    = dataObject;
     _protocolStack.FromHighLayerToHere(dataContent);
 }
예제 #3
0
        public void SendSmallFile(Protocol.SmallFileDataObject dataObject, SockMgrSendEventHandler externalCallback = null, object externalCallbackState = null)
        {
            // callback wrapper
            SockMgrSendStateObject state = new SockMgrSendStateObject();

            state.externalCallback      = externalCallback;
            state.externalCallbackState = externalCallbackState;
            // load DataContent
            Protocol.DataContent dataContent = new Protocol.DataContent();
            dataContent.SockController        = _sockController;
            dataContent.SockMgr               = this;
            dataContent.Type                  = Protocol.DataProtocolType.SmallFile;
            dataContent.Data                  = dataObject;
            dataContent.ExternalCallback      = SentCallback;
            dataContent.ExternalCallbackState = state;
            _protocolStack.FromHighLayerToHere(dataContent);
        }
예제 #4
0
        public void Test()
        {
            // AES
            _aesProtocol = new Protocol.AESProtocol();
            Protocol.AESProtocolState aesState = new Protocol.AESProtocolState();
            aesState.Key = new byte[16] {
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
            };
            _aesProtocol.SetState(aesState);
            _aesProtocol.NextLowLayerEvent  += OnNextLowLayerEvent;
            _aesProtocol.NextHighLayerEvent += OnNextHighLayerEvent;

            // byte[] data = new byte[16] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 };
            byte[] data = new byte[4] {
                0x01, 0x02, 0x03, 0x04
            };
            // byte[] data = new byte[17] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02 };
            Protocol.DataContent dataContent = new Protocol.DataContent();
            dataContent.Data = data;
            _aesProtocol.FromHighLayerToHere(dataContent);
        }
예제 #5
0
 public SockMgrProtocolTopEventArgs(SockMgr handler, Protocol.DataContent dataContent)
 {
     DataContent = dataContent; base.Handler = handler;
 }
예제 #6
0
 // dataContent has been processed and delivered to the topest layer of Application
 public void RaiseSockMgrProtocolTopEvent(Protocol.DataContent dataContent)
 {
     SockMgrProtocolTopEvent?.Invoke(this, new SockMgrProtocolTopEventArgs(this, dataContent));
 }
예제 #7
0
 private void OnNextHighLayerEvent(Protocol.DataContent dataContent)
 {
 }
예제 #8
0
 private void OnNextLowLayerEvent(Protocol.DataContent dataContent)
 {
     _aesProtocol.FromLowLayerToHere(dataContent);
 }