HTTP连接参数
我以以下方式使用HTTP连接:HTTP连接参数,http,blackberry,java-me,cellular-network,Http,Blackberry,Java Me,Cellular Network,我以以下方式使用HTTP连接: HttpConnection _httpConnection = null; try { _httpConnection = (HttpConnection)Connector.open(_url); } catch(Exception e) { } byte [] postDataBytes = _postData.getBytes(); _htt
HttpConnection _httpConnection = null;
try {
_httpConnection = (HttpConnection)Connector.open(_url);
} catch(Exception e) { }
byte [] postDataBytes = _postData.getBytes();
_httpConnection.setRequestMethod(HttpConnection.POST);
_httpConnection.setRequestProperty("User-Agent","Profile/MIDP-2.0 Configuration/CLDC-1.0");
_httpConnection.setRequestProperty("Content-Language", "en-US");
_httpConnection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
_httpConnection.setRequestProperty("Connection", "close");
_httpConnection.setRequestProperty("Content-Length", Integer.toString(_postData.getBytes().length));
os = _httpConnection.openOutputStream();
os.write(postDataBytes);
os.flush();
此HTTP连接需要参数才能成功打开。例如,在WIFI网络上,需要在URL中添加“deviceside=true;interface=WIFI”
问题在于边缘连接。每个国家都需要添加不同的参数。例如,在黎巴嫩,它需要“deviceside=false”,但在KSA中,如果我添加此参数,连接将不会打开。在美国,它需要不同类型的参数。问题是如何为具有相同参数的所有国家/地区建立HTTP连接。这样,应用程序无论在何处下载,都将成功连接到internet。请尝试使用此链接中引用的方法,并像
_url = "http://www.example.com";
_httpConnection = (HttpConnection)Connector.open(_url + getConnectionString());
您必须对应用程序进行签名才能使用此选项,否则应用程序将显示异常。
要签署您的应用程序,只需转到此处尝试使用此链接中引用的方法,并像
_url = "http://www.example.com";
_httpConnection = (HttpConnection)Connector.open(_url + getConnectionString());
您必须对应用程序进行签名才能使用此选项,否则应用程序将显示异常。
要签署您的应用程序,请点击此处欢迎来到黑莓网络传输的混乱世界!你会想从这篇文章开始 下面是“只需给我一个连接”的简单示例(注意,您需要添加适当的错误处理;此外,下面代码中的
myURL
不应附加连接描述符信息):
欢迎来到黑莓网络传输的混乱世界!你会想从这篇文章开始 下面是“只需给我一个连接”的简单示例(注意,您需要添加适当的错误处理;此外,下面代码中的
myURL
不应附加连接描述符信息):
要使用connectionFactory,似乎需要设置 试试这个:
connFact = new ConnectionFactory();
connFact.setTransportTypeOptions(TransportInfo.TRANSPORT_BIS_B,
new BisBOptions("mds-public"));
要使用connectionFactory,似乎需要设置 试试这个:
connFact = new ConnectionFactory();
connFact.setTransportTypeOptions(TransportInfo.TRANSPORT_BIS_B,
new BisBOptions("mds-public"));
无法通过EDGE连接!!同样的问题不能通过EDGE解决!!同样的问题我花了好几天读这篇文章,却没有得出任何一般性的结论。。。你发现了什么可以让这篇文章对我有用的东西吗?你的目标是什么操作系统版本?我发现OS5+中的网络API(
ConnectionFactory
等)更易于使用,更灵活。我的目标是OS5.0及以上版本。我看到了ConnectionFactoryAPI,但不知道如何使用它!!我尝试了不同的例子,但没有成功。你能帮我点忙吗?这不管用。。。边缘连接没有可用的连接,只是对wifia有效。您使用的是真正的设备还是模拟器?如果是真实的设备,您是否确定该设备已正确设置和配置,并且具有适当的数据包?您也可以尝试使用factory.setPreferredTransportTypes()
设置首选连接顺序。我花了几天时间阅读这篇文章,但没有得出任何一般性结论。。。你发现了什么可以让这篇文章对我有用的东西吗?你的目标是什么操作系统版本?我发现OS5+中的网络API(ConnectionFactory
等)更易于使用,更灵活。我的目标是OS5.0及以上版本。我看到了ConnectionFactoryAPI,但不知道如何使用它!!我尝试了不同的例子,但没有成功。你能帮我点忙吗?这不管用。。。边缘连接没有可用的连接,只是对wifia有效。您使用的是真正的设备还是模拟器?如果是真实的设备,您是否确定该设备已正确设置和配置,并且具有适当的数据包?您还可以尝试使用factory.setPreferredTransportTypes()
设置首选连接顺序。是否将链接层与传输混淆?例如,您可以通过EDGE、CDMA甚至WiFi获得BES连接(deviceside=false
)。但是,只有当设备与BES环境关联时,才能获得BES连接。例如,大多数消费设备与BES无关,而是与BIS关联。您是否混淆了链路层与传输层?例如,您可以通过EDGE、CDMA甚至WiFi获得BES连接(deviceside=false
)。但是,只有当设备与BES环境关联时,才能获得BES连接。例如,大多数消费设备与BES无关,而是与BIS关联。