Android TCP 服务端接受发送数据

Android平台上的TCP协议是一种常用的网络通信协议,它可以在设备之间进行可靠的数据传输。在Android应用程序开发中,我们经常需要使用TCP协议来实现客户端和服务端之间的通信。本文将向您介绍如何在Android应用程序中编写服务端代码来接收和发送数据。

TCP协议简介

TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输协议。它可以保证数据的可靠性和顺序性,并且可以进行流量控制和拥塞控制。在TCP协议中,数据被分割成小的数据包,然后在网络上传输,最终由接收端重新组装成完整的数据。

Android TCP服务端示例

在Android上实现一个TCP服务端,需要创建一个ServerSocket对象,并在一个独立的线程中监听客户端的连接请求。一旦有客户端连接成功,我们就可以通过获取Socket对象来进行数据的收发。

下面是一个简单的Android TCP服务端示例:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class TCPServer {
    private static final int PORT = 8888;

    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(PORT);
        System.out.println("Server started on port " + PORT);

        while (true) {
            Socket clientSocket = serverSocket.accept();
            System.out.println("Client connected: " + clientSocket.getInetAddress().getHostName());

            BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
            PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);

            String message;
            while ((message = in.readLine()) != null) {
                System.out.println("Received message: " + message);
                out.println("Server received: " + message);
            }

            clientSocket.close();
            System.out.println("Client disconnected");
        }
    }
}

代码解析:

  1. 创建一个ServerSocket对象,指定端口号(这里使用8888)。
  2. 进入一个无限循环,等待客户端的连接请求。
  3. 一旦有客户端连接成功,获取Socket对象,并打印客户端的IP地址。
  4. 创建一个BufferedReader对象来读取客户端发送的数据,创建一个PrintWriter对象来发送数据给客户端。
  5. 进入一个循环,读取客户端发送的数据,并打印出来。然后将相同的消息发送回客户端。
  6. 当客户端断开连接时,关闭Socket对象,并打印断开连接的消息。

类图

下面是TCPServer类的类图:

classDiagram
    class TCPServer {
        - PORT: int
        + main(args: String[]): void
    }
    TCPServer --> ServerSocket
    TCPServer --> Socket

总结

本文介绍了在Android应用程序中编写TCP服务端的方法。通过创建ServerSocket对象,并在一个独立的线程中监听客户端的连接请求,我们可以实现客户端和服务端之间的通信。在实际开发中,我们可以根据自己的需求进一步扩展和优化这个示例。希望本文对您理解Android TCP编程有所帮助。

参考资料

  • [Android Developer Documentation](
  • [Java Socket Programming](
  • [TCP/IP Tutorial](

希望本文对您有所帮助,谢谢阅读!