(官网:www.libgdx.cn)
Libgdx包含了一些跨平台的网络操作类,这些类在Gdx.net中。
特性
- 跨平台HTTP请求
- 多平台TCP C/S Socket支持(可配置)
- TCP C/S优化
- 跨平台浏览器访问
说明
- Net.java 跨平台网络接口。通过这里获取网络交互的对象。
- Socket.java是一个提供远程socket地址,连接状态的接口。
- SocketHints.java是一个创建TCP服务端接口。提供了标准的accept()方法获取已连接的TCP客户端。
- ServerSocketHints.java是一个配置TCP服务器socket的类。
- HttpStatus.java是一个查看网络状态的类。
- HttpParameterUtils.java是一个提供了HTTP请求的工具方法。
- HttpRequestBuilder创建HttpRequests的类。
创建一个TCP客户端,可以使用以下的代码:
Socket socket = Gdx.net.newClientSocket(Protocol protocol, String host, int port, SocketHints hints);
创建一个TCP服务器端可以使用如下代码:
ServerSocket server = Gdx.net.newServerSocket(Protocol protocol, int port, ServerSocketHints hints);
发送HTTP请求:
HttpRequestBuilder requestBuilder = new HttpRequestBuilder();
HttpRequest httpRequest = requestBuilder.newRequest().method(HttpMethods.GET).url("http://www.google.de").build();
Gdx.net.sendHttpRequest(httpRequest, httpResponseListener);
打开系统浏览器,可以使用如下代码:
Gdx.net.openURI(String URI)
注意
不同平台使用时需要注意。
1、TCP 客户端和服务端不同在GWT中使用。原因是java.net不支持GWT。
2、在有些平台不支持打开系统浏览器,因为特定平台的限制。
3、在Android中,必须在AndroidManifest.xml文件中声明访问网络的权限:
<uses-permission android:name="android.permission.INTERNET" />
4、在Android中,在没禁用StrictMode时不能再主线程中访问网络。防止阻塞主线程。
5、在移动网络中注意流量
6、支持网络配置
7、电量可能在数据传输时耗尽。
8、Content-Type设置为POST。
(www.libgdx.cn版权所有,如需转载,注明出处)