Android客户端实现Socket通信

来源:互联网 发布:head first java第三版 编辑:程序博客网 时间:2024/06/05 19:51

安卓与服务器的通信有两种 Socket与Http。两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据。而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求。
下面给出Socket通信的一个实例 其实很简单
protected void connectServerWithTCPSocket() {
Socket socket;
try {// 创建一个Socket对象,并指定服务端的IP及端口号
socket = new Socket(“…”, );
// 创建一个InputStream用户读取要发送的文件。
InputStream inputStream = new FileInputStream(“e://a.txt”);
// 获取Socket的OutputStream对象用于发送数据。
OutputStream outputStream = socket.getOutputStream();
// 创建一个byte类型的buffer字节数组,用于存放读取的本地文件
byte buffer[] = new byte[ * ];
int temp = ;
// 循环读取文件
while ((temp = inputStream.read(buffer)) != -) {
// 把数据写入到OuputStream对象中
outputStream.write(buffer, , temp);
}
// 发送读取的数据到服务端
outputStream.flush();

   /** 或创建一个报文,使用BufferedWriter写入,看你的需求 **/ 

// String socketData = “[;fjks;]”;
// BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
// socket.getOutputStream()));
// writer.write(socketData.replace(“\n”, ” “) + “\n”);
// writer.flush();
/**************************************/
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

0 0
原创粉丝点击