Beispiel #1
0
        /// <summary>
        /// Call this function in ReceiveEventHandler
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        public void ReceiveEventHandler(object sender, ReceiveEventArgs args)
        {
            object ret = ProcessMessage(args.SCBID, args.RemoteIPEndPoint, args.Flag, args.CableId, args.Channel, args.Event,
                                        _DataSerializer.GetObject(args.Data));

            if (ret != null)
            {
                args.ReturnData = _ReturnSerializer.GetBytes(ret);
            }
            else
            {
                args.ReturnData = null;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Synchronously sends data to the remote host specified in the RemoteIPEndPoint using Default serializer
        /// </summary>
        /// <param name="evt">message event</param>
        /// <param name="obj">object need to be sent</param>
        /// <param name="millisecondsTimeout">The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely. </param>
        /// <param name="dataSerializer">serializer for data</param>
        /// <param name="returnSerializer">serilaizer for return data</param>
        /// <returns>R data type that contains the data that return from remote host</returns>
        public R SyncSend <T, R>(UInt32 evt, ref T obj, int millisecondsTimeout, ISerialize <T> dataSerializer, ISerialize <R> returnSerializer)
        {
            byte[] ret = SyncSend(evt, dataSerializer.GetBytes(ref obj), millisecondsTimeout);

            return(returnSerializer.GetObject(ret));
        }
Beispiel #3
0
        /// <summary>
        /// Synchronously sends data to the remote host specified in the RemoteIPEndPoint
        /// </summary>
        /// <param name="evt">message event</param>
        /// <param name="obj">object need to be sent</param>
        /// <param name="millisecondsTimeout">The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely. </param>
        /// <param name="dataSerializer">serializer for data</param>
        /// <param name="returnSerializer">serilaizer for return data</param>
        /// <returns>object that contains the data that return from remote host</returns>
        public object SyncSend(UInt32 evt, object obj, int millisecondsTimeout, ISerialize dataSerializer, ISerialize returnSerializer)
        {
            byte[] ret = SyncSend(evt, dataSerializer.GetBytes(obj), millisecondsTimeout);

            return(returnSerializer.GetObject(ret));
        }
Beispiel #4
0
        /// <summary>
        /// Synchronously sends data to the remote host specified in the RemoteIPEndPoint
        /// </summary>
        /// <param name="evt">message event</param>
        /// <param name="cableId">cableId No.</param>
        /// <param name="obj">object need to be sent</param>
        /// <param name="millisecondsTimeout">The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely. </param>
        /// <param name="dataSerializer">serializer for data</param>
        /// <param name="returnSerializer">serilaizer for return data</param>
        /// <returns>object that contains the data that return from remote host</returns>
        internal object SyncSend(UInt32 evt, UInt16 cableId, object obj, int millisecondsTimeout, ISerialize dataSerializer, ISerialize returnSerializer)
        {
            byte[] ret = SyncSend(evt, cableId, dataSerializer.GetBytes(obj), millisecondsTimeout);

            return(returnSerializer.GetObject(ret));
        }