[Android游戏开发经验分享]关于Sockets与服务端建立长连接交互

来源:互联网 发布:日本读研 知乎 编辑:程序博客网 时间:2024/06/17 13:44

Android手游开发时,特别做网络手游时,需要建立Sockets连接远程服务端,然后接收发送数据等。同时还要保证此Sockets连接不能断开,以保证Sockets通畅并任何时间接收服务端数据。

如何保持长连接,其实很简单,建立全局静态变量Sockets,并保持开启状态。

public static Socket socket;

socket = new Socket("192.168.1.101", 8002);
socket.setKeepAlive(true);//开启保持活动状态的套接字


自行写Sockets异常捕捉,比如连接超时时的判定,连接失败的判定等等。

输入输出流建议也是建立全局变量的,根据需要自行写关闭打开输入输出流的状态。

我以前写代码时犯了个大错误,把Sockets写成了成员变量,成员变量执行完以后会被JAVA给回收销毁的。当服务端一直给我发送的数据时,就会接收不到数据,然后阻塞卡死。

0 0
原创粉丝点击