赞
踩
在 Android 开发中,Socket 编程是一种常用的网络通信方式。通过 Socket,应用程序可以在设备之间建立可靠的、双向的通信连接,实现数据交换和共享。本篇文章将带您深入了解 Android Socket 编程,从基础概念到实战应用,让您全面掌握这一重要技术。
提示:以下是本篇文章正文内容,下面案例可供参考
1.Socket 是网络通信的基础,它提供了一种标准的、通用的网络通信接口。在 Android 中,2.Socket 编程主要涉及到两个类:Socket 和 ServerSocket。
Socket:用于客户端,用于向服务器发起连接请求。
ServerSocket:用于服务器端,用于监听客户端的连接请求。
下面是一个简单的 Socket 编程示例,包括了客户端和服务器的实现:
java.net.ServerSocket
java.net.Socket
服务器端代码示例
import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(8080); // 创建 ServerSocket 对象并监听 8080 端口 System.out.println("服务器已启动,等待客户端连接..."); while (true) { Socket socket = serverSocket.accept(); // 等待客户端连接请求 new Thread(new ServerHandler(socket)).start(); // 为每个客户端连接创建一个新线程处理请求 } } catch (IOException e) { e.printStackTrace(); } } } class ServerHandler implements Runnable { private Socket socket; private DataInputStream inputStream; private DataOutputStream outputStream; public ServerHandler(Socket socket) throws IOException { this.socket = socket; inputStream = new DataInputStream(socket.getInputStream()); outputStream = new DataOutputStream(socket.getOutputStream()); } @Override public void run() { try { String message = inputStream.readUTF(); // 读取客户端发送的消息 System.out.println("收到消息:" + message); outputStream.writeUTF("已收到消息"); // 回复客户端消息 } catch (IOException e) { e.printStackTrace(); } finally { try { inputStream.close(); outputStream.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } } }
客户端代码示例:
import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.Socket; import java.net.UnknownHostException; public class Client { public static void main(String[] args) { try { Socket socket = new Socket("localhost", 8080); DataInputStream inputStream = new DataInputStream(socket.getInputStream()); DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream()); outputStream.writeUTF("向服务器发送消息"); // 发送消息到服务器 String response = inputStream.readUTF(); // 读取服务器响应的消息 System.out.println("收到服务器响应:" + response); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { inputStream.close(); outputStream.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } } }
通过本文的介绍,我们了解了Android Socket的基本概念和相关代码示例。在实际开发中,Socket编程可能会涉及到更多的细节和问题,需要我们更加深入地学习和实践。希望本文能对你理解和使用Android Socket有所帮助。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。