安卓的socket编程

上一篇 / 下一篇  2016-08-24 15:02:24 / 个人分类:安卓开发

Socket:用于描述ip与端口,app就是通过Socket向网络发出请求或者应答的,所以Socket分为两个部分,一个是客户端的Socket,一个是服务器端的Socket,并且针对不同的协议有各自不同的Socket,比如tcp有自己的Socket,不太靠谱的udp有自己的,http协议也有自己的,甚至蓝牙等

tcp的几乎和java的socket使用一样,没啥好说的,读读写写,开管道

说一说基于udp?
  
服务器端的好说如下:
DatagramSocket:代表构建的一个udp数据socket:
DatagramPackect:代表udp协议构建的数据包
DatagramSocket  socket=new DatagramSocket(port);
byte data[]=new byte[1024];
DatagramPackect p=new DatagramPackect(data,data.length);//创建一个空的udp数据包对象,去接收从客户端发送的数据
socket.receive(p);//接收客户端发送的数据,并放进p这个空的包中

客户端的也简单:
DatagramSocket s=new DatagramSocket(4567); //创建一个udp的socket对象
InetAddress serverAddress= InetAddress.getByName("10.216.17.200");  //给ip地址
String str="Hello";
byte data[]=str.getBytes();//把刚才给的string转化为一个byte数组
DatagramPackect p=new DatagramPackect(data,data.length,serverAddress,4567); //创建一个数据包,好比一封信,里面有数据,数据长度,地址,端口
s.send(p); //send就是送出去哈




TAG:

 

评分:0

我来说两句

Open Toolbar