7、Libgdx网络操作

(官网: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版权所有,如需转载,注明出处)

时间: 2024-11-13 06:58:59

7、Libgdx网络操作的相关文章

android之网络操作(1)

一.网络操作 在网络操作中JAVA已经为我提供了一套API用来进行网络操作,在android开发中我们仍可以这套API来做开发.下面通过一个简单的例子来了解一下android下的网络操作. 点击图中下载按钮从服务器上下载一张图片下来 二.xml布局文件 布局文件采用线性布局,只使用到一个button和一个image <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=

【iOS】网络操作与AFNetworking

众所周知.苹果搞的一套框架NSContention发送请求与接收请求的方式十分繁琐.操作起来非常不方便. 不仅要做区分各种请求设置各种不同的參数,并且还要常常在多线程里操作,同一时候还要对请求与返回的数据做各种序列化的操作.同一时候还要考虑请求数据的安全等一堆问题. 一.早前的几个网络框架 1.ASI框架: HTTP终结者.非常牛, 可是有BUG, 已经停止更新. 2.MKNetworkKit (印度人写的). 3.AFN一直还在更新. AFNetworking的出现:MAC/iOS设计的一套网

网络操作不能直接写在主线程中 以及 为什么不能在子线程中更新UI控件的属性

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ //注意: 所有网络操作不能直接写在主线程中 因为所有的网络操作都是耗时的,如果加载到主线程中,会导致与用户的交互出现问题 ,所以要加载到子线程中 // [self loadImage]; [self performSelectorInBackground:@selector(loadImage) withObject:nil]; } //加

Android网络操作的几种方法

安卓开发软件:AndroidStudio 服务器软件:Myeclipse+Tomcat 首先无论是哪种方式,安卓手机软件要想联网,必须要申请联网权限(android.permission.INTERNET). 安卓主线程不允许做耗时操作(联网操作就是一种耗时操作),所以下面的的网络操作都是通过内部匿名类另起的一个线程操作的. 一,第一种方式:使用HttpURLConnection进行联网操作 这个方法需要我们手动构建一个http请求包,发送到指定的服务器 get方式 设置URL 打开连接 设置请

android内部培训视频_第四节(1)_异步网络操作

第四节(1):异步网络操作  一.结合asyncTask下载网络图片 1.定义下载类,继承自asyncTask,参数分别为:String(url地址),Integer(刻度,本例没有用到),BitMap(下载成功后的图片) public class downloadImageTask extends AsyncTask<String, Integer, Bitmap> { /** * 在线程开始之前执行 */ @Override protected void onPreExecute() {

(原创)在service中定时执行网络操作的几点说明

执行网络操作是耗时操作,即便是在service中也要放到子线程中执行 这里我用到了async-http-client框架来执行异步请求操作 计时用的java原生Timer和TimerTask类 本来这两者分开操作各没有问题 但是如果把异步操作写到TimerTask的run方法里就会出错 E/AndroidRuntime(5799): java.lang.IllegalArgumentException: Synchronous ResponseHandler used in AsyncHttpC

Android官方开发文档Training系列课程中文版:网络操作之网络连接

原文地址:http://android.xsoftlab.net/training/basics/network-ops/index.html 引言 这节课将会学习最基本的网络连接,监视网络连接状况及网络控制等内容.除此之外还会附带描述如何解析.使用XML数据. 这节课所包含的示例代码演示了最基本的网络操作过程.开发者可以将这部分的代码作为应用程序最基本的网络操作代码. 通过这节课的学习,将会学到最基本的网络下载及数据解析的相关知识. Note: 可以查看课程Transmitting Netwo

[New learn] 网络基础-网络操作

代码:https://github.com/xufeng79x/NETOperation 1.简介 主要记录基本的网络操作步骤,get/post关系和区别和文件上传实现. 2.准备 需要服务器端,如果你没有完成服务器端的操作请参考[New learn] 网络基础-apache本地服务搭建(支持php) 3.网络基本操作 3.1.基本操作步骤 //step_1:创建URL //step_2:创建request //step_3:建立连接接受返回数据 //step_4:反序列化数据 举例:如下我们将

九、Android学习第八天——广播机制与WIFI网络操作(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 九.Android学习第八天——广播机制与WIFI网络操作 今天熟悉了Android中的广播机制与WIFI网络的一些基本操作,总结如下: Android的广播机制 我们知道广播机制中,发送方不会关心接收方时候接收到数据或者如何去处理数据. 这里总结下Android中BroadcastReceiver的注册方法: (一)在应用程序中进行注册 (二)在Manifest.xml