普通网友 2010-03-26 07:26
浏览 58
已采纳

Flex - 增加PHP服务函数调用的超时

I'm using Flash Builder 4 Beta 2. I have it connecting to a PHP service. The way I set this up was using the wizard, so I didn't actually write the code to connect to it. The service looks like this:

package services.flash
{
import mx.rpc.AsyncToken;
import com.adobe.fiber.core.model_internal;
import mx.rpc.AbstractOperation;
import valueObjects.CustomDatatype8;
import valueObjects.NewUsageData;
import mx.collections.ItemResponder;
import mx.rpc.remoting.RemoteObject; 
import mx.rpc.remoting.Operation;
import com.adobe.fiber.services.wrapper.RemoteObjectServiceWrapper;
import com.adobe.fiber.valueobjects.AvailablePropertyIterator;
import com.adobe.serializers.utility.TypeUtility;

[ExcludeClass]
internal class _Super_FLASH extends RemoteObjectServiceWrapper
{      

    // Constructor
    public function _Super_FLASH()
    {
        // initialize service control
        _serviceControl = new RemoteObject(); 

        var operations:Object = new Object();
        var operation:Operation;         

        operation = new Operation(null, "sendCommand");
         operation.resultType = Object;          
        operations["sendCommand"] = operation;

        ...
     }
}

One of the functions that I'm calling fetches users from a MySQL database. There are about 30,000 users right now. The service seems to timeout when fetching more than around 22,000 rows, I get the "Channel Disconnected before an acknowledgement was received" error. If I call the PHP script from a browser, it fetches them all with no problems at all, however. I have tried increasing the timeout in the PHP script (which didn't work), but obviously this isn't the problem since the browser is able to pull them up with no problems.

Is there a way to increase the timeout of the PHP service in Flash Builder? I'm a bit of a noob when it comes to Flash, so please be descriptive. Thanks in advance!

展开全部

  • 写回答

1条回答 默认 最新

  • douliangbian7323 2010-03-27 02:19
    关注

    All remote objects have a requestTimeout parameter. Just set it to whatever is needed.

    _serviceControl.requestTimeout = 1000;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?