Пример #1
0
        override public object Received(byte[] data, UniNetObject connection, out NetCore.Error.NetCoreException err, object Addition)
        {
            err = null;
            //log("id:" + (connection.stateObject as HTTPStateObject)?.request.id, INFO, "HTTP.Received");
            if (connection.CompleteTime != 0)
            {
                //log("time:" + connection.CompleteTime, INFO, "HTTP.Received");
            }
            var state = ProcessHTTPResponse(data, Addition as HTTPStateObject, out var nextRequest);

            if (nextRequest != null)
            {
                (state as HTTPStateObject).request = nextRequest;
                //log("send:" + nextRequest.Host, INFO, "HTTP.Received");
                connection.Write(nextRequest.ToByte(), out err);
            }
            else
            {
                if ((state as HTTPStateObject).complete == HTTPStateComplete.Closing)
                {
                    connection.Close();
                    err = new NetCore.Error.NetCoreException();
                }
            }
            return(state);
        }
Пример #2
0
        override public object Connected(UniNetObject connection, out NetCore.Error.NetCoreException err)
        {
            err = null;
            HTTPRequest request = null;

            if (ConnectedRequest != null)
            {
                request = ConnectedRequest;
                connection.Write(ConnectedRequest.ToByte(), out err);
                ConnectedRequest = null;
            }
            lock (newConnectLock)
            {
                Monitor.Pulse(newConnectLock);
            }
            var state = new HTTPStateObject()
            {
                request = request
            };

            return(state);
        }
Пример #3
0
 public void Write(byte[] buf, out NetCore.Error.NetCoreException err)
 {
     protocol.Write(buf, this, out err);
 }
Пример #4
0
 virtual public void Accepted(UniNetObject connection, out NetCore.Error.NetCoreException err)
 {
     err = null;
 }
Пример #5
0
 //public void ThreadReceived(Object Param){
 //    bool isContinue=Received(((CoreThreadPassObj)Param).data,((CoreThreadPassObj)Param).socket,null);
 //    SocketException receiveErr=null;
 //    while(isContinue){
 //        byte[] data = _ProtocolOp.ContinueReceive(((CoreThreadPassObj)Param).socket,out receiveErr);
 //        if(data==null){
 //            continue;
 //        }
 //        if(data.Length==0&&((CoreThreadPassObj)Param).socket.Available==0){
 //            break;
 //        }
 //        if(receiveErr!=null){
 //            break;
 //        }
 //        isContinue=Received(data, ((CoreThreadPassObj)Param).socket,receiveErr);
 //    }
 //    ((CoreThreadPassObj)Param).socket.Dispose();
 //    ((CoreThreadPassObj)Param).socket = null;
 //}
 //virtual public void Write(Byte[] data, UniNetObject connection, out NetCore.Error.NetCoreException err){
 //    _ProtocolOp.Write(data, connection, out err);
 //}
 virtual public object Connected(UniNetObject connection, out NetCore.Error.NetCoreException err)
 {
     err = null;
     return(null);
 }
Пример #6
0
 virtual public object Received(byte[] data, UniNetObject connection, out NetCore.Error.NetCoreException err, object Addition = null)
 {
     err = null;
     return(null);
 }