Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
BlackBerry Java.io.IOException:传输失败_Java_Blackberry_Java Me - Fatal编程技术网

BlackBerry Java.io.IOException:传输失败

BlackBerry Java.io.IOException:传输失败,java,blackberry,java-me,Java,Blackberry,Java Me,当我将应用程序部署到设备时,连接到承载Web服务的服务器时出现问题。使用以下连接参数时发生此实例: }else if(TransportTypes[i]== TransportInfo.TRANSPORT_TCP_CELLULAR ){ String carrierUid = getCarrierBIBSUid(); if(carrierUid == null) { ConnectionParame

当我将应用程序部署到设备时,连接到承载Web服务的服务器时出现问题。使用以下连接参数时发生此实例:

}else if(TransportTypes[i]== TransportInfo.TRANSPORT_TCP_CELLULAR ){
             String carrierUid = getCarrierBIBSUid();
                if(carrierUid == null) {
                    ConnectionParameter = ";deviceside=true";
                }
                else{
                    **ConnectionParameter = ";deviceside=false;connectionUID="+carrierUid + ";ConnectionType=mds-public**";
                }  

            break;
        }


public static String getCarrierBIBSUid(){

    ServiceBook sb = ServiceBook.getSB();
    ServiceRecord[] records = sb.findRecordsByCid("WPTCP"); 
    String uid = null; 

    for(int i=0; i < records.length; i++) 
    {
        //Search through all service records to find the 
        //valid non-Wi-Fi and non-MMS 
        //WAP 2.0 Gateway Service Record.
        if (records[i].isValid() && !records[i].isDisabled()) 
        {

            if (records[i].getUid() != null && records[i].getUid().length() != 0) 
            {
                if ((records[i].getUid().toLowerCase().indexOf("wifi") == -1) &&
                    (records[i].getUid().toLowerCase().indexOf("mms") == -1))
                {
                        uid = records[i].getUid(); 
                        break;
                }
            } 
        }
    }
    return uid;

}
或者只是:

ConnectionParameter = ";interface=wifi";

有人知道这种方法可能有什么问题吗?

嗯,我找到了解决问题的方法。虽然仍然需要APN设置才能使用TCP直接通道。在使用之前,我连续检查了最强的可用通道

以下是我的代码摘录:

public static String getConnParams() {
    String ConnectionParameter ="" ;
    int TransportTypes[] = TransportInfo.getAvailableTransportTypes();
    int wifi=0;
    int wap2=0;
    int BIS=0;
    int MDS=0;
    for(int i=0; i<TransportTypes.length; i++){
        if(TransportTypes[i]== TransportInfo.TRANSPORT_TCP_WIFI ){
        wifi  = TransportInfo.TRANSPORT_TCP_WIFI ;
        }else if(TransportTypes[i]== TransportInfo.TRANSPORT_WAP2 ){
        wap2 =  TransportInfo.TRANSPORT_WAP2; 
        }else if(TransportTypes[i]== TransportInfo.TRANSPORT_BIS_B  ){
            BIS = TransportInfo.TRANSPORT_BIS_B;
        }else if(TransportTypes[i]== TransportInfo.TRANSPORT_MDS ){
            MDS = TransportInfo.TRANSPORT_MDS;
        }
    }

    if(wifi!=0 && TransportInfo.hasSufficientCoverage(wifi)){
        ConnectionParameter = ";interface=wifi";
        return ConnectionParameter;
    }else if(wap2 !=0 &&TransportInfo.hasSufficientCoverage(wap2)){
         String carrierUid = getCarrierBIBSUid();
        if(carrierUid == null) {
            ConnectionParameter = ";deviceside=true";
        }
        else{
            ConnectionParameter = ";deviceside=true;connectionUID="+carrierUid;
        } 
        return ConnectionParameter;
    }else if(BIS !=0 && TransportInfo.hasSufficientCoverage(BIS)){
        ConnectionParameter = ";deviceside=false";
        return ConnectionParameter;
    }else if(MDS !=0 && TransportInfo.hasSufficientCoverage(MDS)){
        ConnectionParameter = ";deviceside=false";
        return ConnectionParameter;
    }else{
        ConnectionParameter = ";deviceside=true";       
        return ConnectionParameter;
    }


}
public静态字符串getConnParams(){
字符串ConnectionParameter=“”;
int TransportTypes[]=TransportInfo.getAvailableTransportTypes();
int wifi=0;
int-wap2=0;
int-BIS=0;
int-MDS=0;

对于(int i=0;i您指的是添加到**的行吗?它使用直接tcp。您设置了apn设置吗?是的,Rihan,它使用tcp,但设置apn是我现在的问题。您有线索吗?
public static String getConnParams() {
    String ConnectionParameter ="" ;
    int TransportTypes[] = TransportInfo.getAvailableTransportTypes();
    int wifi=0;
    int wap2=0;
    int BIS=0;
    int MDS=0;
    for(int i=0; i<TransportTypes.length; i++){
        if(TransportTypes[i]== TransportInfo.TRANSPORT_TCP_WIFI ){
        wifi  = TransportInfo.TRANSPORT_TCP_WIFI ;
        }else if(TransportTypes[i]== TransportInfo.TRANSPORT_WAP2 ){
        wap2 =  TransportInfo.TRANSPORT_WAP2; 
        }else if(TransportTypes[i]== TransportInfo.TRANSPORT_BIS_B  ){
            BIS = TransportInfo.TRANSPORT_BIS_B;
        }else if(TransportTypes[i]== TransportInfo.TRANSPORT_MDS ){
            MDS = TransportInfo.TRANSPORT_MDS;
        }
    }

    if(wifi!=0 && TransportInfo.hasSufficientCoverage(wifi)){
        ConnectionParameter = ";interface=wifi";
        return ConnectionParameter;
    }else if(wap2 !=0 &&TransportInfo.hasSufficientCoverage(wap2)){
         String carrierUid = getCarrierBIBSUid();
        if(carrierUid == null) {
            ConnectionParameter = ";deviceside=true";
        }
        else{
            ConnectionParameter = ";deviceside=true;connectionUID="+carrierUid;
        } 
        return ConnectionParameter;
    }else if(BIS !=0 && TransportInfo.hasSufficientCoverage(BIS)){
        ConnectionParameter = ";deviceside=false";
        return ConnectionParameter;
    }else if(MDS !=0 && TransportInfo.hasSufficientCoverage(MDS)){
        ConnectionParameter = ";deviceside=false";
        return ConnectionParameter;
    }else{
        ConnectionParameter = ";deviceside=true";       
        return ConnectionParameter;
    }


}