示例#1
0
        private static void InvokeSocketOperationCallback(SocketOperationResult result)
        {
            SocketOperationCallback callback = result.callback;

            if (null == callback)
            {
                return;
            }

            try
            {
                callback(result);
            }
            catch (Exception)
            {
            }
        }
示例#2
0
        private static void SocketRecv(Socket sock, byte[] buf, int offset, int size, bool waitAll, SocketOperationCallback callback, object state)
        {
            SocketOperationResult result = PrepareSocketOperationResult(sock, false, buf, offset, size, waitAll, callback, state);

            SendRecvNext(result);
        }
示例#3
0
        private static SocketOperationResult PrepareSocketOperationResult(Socket sock, bool directionOut, byte[] buf, int offset, int size, bool waitAll, SocketOperationCallback callback, object state)
        {
            SocketOperationResult result = new SocketOperationResult();

            result.sock         = sock;
            result.directionOut = directionOut;
            result.buf          = buf;
            result.offset       = offset;
            result.size         = size;
            result.waitAll      = waitAll;
            result.callback     = callback;
            result.state        = state;
            return(result);
        }
示例#4
0
        private static void SocketSend(Socket sock, byte[] buf, int offset, int size, SocketOperationCallback callback, object state)
        {
            SocketOperationResult result = PrepareSocketOperationResult(sock, true, buf, offset, size, true, callback, state);

            SendRecvNext(result);
        }