android socket 链接java后台服务器

文章标签: android,android-socket
2015-3-19 15:30:44     人阅读    

近期有个android需求需要通过android app客户端发送socket信息到java后台服务器,
简单了学习了一遍,android socket还是相对简单的,基本和java功能一致,没有其他啥需要注意的事项....
于是简单的整理了一个客户端和服务区的简单发送代码...


android Client:

Socket socket = ...; // 通过android手机端创建一个socket
 链接
DataOutputStream dOut = new DataOutputStream(socket.getOutputStream());




//  发送第一个信息
dOut.writeByte(1);

dOut.writeUTF("第一个消息");

dOut.flush(); // android发送socket消息


// 发送第二个信息
dOut.writeByte(2);

dOut.writeUTF("第二个消息");

dOut.flush(); // android发送socket消息

/
// 发送第三个信息
dOut.writeByte(3);

dOut.writeUTF("第三个消息(Part 1).");

dOut.writeUTF("第三个消息 (Part 2).");

dOut.flush(); // Send off the data




//   android 关闭socket
dOut.writeByte(-1);

dOut.flush();




dOut.close();


Server:

Socket socket = ... // 设置接收端socket
DataInputStream dIn = new DataInputStream(socket.getInputStream());




boolean done = false;

while(!done) {
 
  byte messageType = dIn.readByte();



  switch(messageType)
 
  {
 
  case 1: // Type A
 
    System.out.println("Message A: " + dIn.readUTF());
 
    break;
 
  case 2: // Type B
 
    System.out.println("Message B: " + dIn.readUTF());
 
    break;
 
  case 3: // Type C
 
    System.out.println("Message C [1]: " + dIn.readUTF());
 
    System.out.println("Message C [2]: " + dIn.readUTF());
 
    break;
 
  default;
 
    done = true;
 
  }
}
}




dIn.close();

 


发送的消息可以是各种类型,并不限制  bytes 和strings (UTF)

 

备注:
1、基于字节传输的时候,只需要把相应的字符串和整数等类型转换为对应的网络字节进行传输即可。
2、要设置manifest.xml才能开启安卓app网络权限
3、socket资源使用完毕后别忘记了关闭


原文地址:http://www.itmmd.com/201503/659.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

android app关闭后想让 Android alarm 继续运行?   上一篇
下一篇  android 获得手机中的SIM卡信息和MSISDN、ICCID、IMEI信息
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!