Android连接到服务器IP和端口

时间:2012-11-06 06:11:53

标签: android connection ip

将android连接到服务器和ip以及相应端口的最佳方法是什么?这个连接不需要一直都是,但我假设我将发送和重新传输文件(在字节数组或流中)。

谢谢

1 个答案:

答案 0 :(得分:7)

由于Android开发工具是Java原生的,因此您可以使用简单的Java Socket API来实现此目标(请参阅ServerSocketSocket)。

服务器代码

您必须首先在主机上打开ServerSocket,方法是定义要监听的端口:

ServerSocket ss = new ServerSocket([some_port]);

然后您必须通过致电ss.accept()开始收听客户。此方法将阻止,直到客户端连接:

Socket my_socket = ss.accept();

您现在在服务器上有一个可以根据需要操作的套接字(可能通过使用ObjectInputStreamObjectOutputStream):

ObjectOutputStream out = new ObjectOutputStream(my_socket.getOutputStream());
ObjectInputStream in= new ObjectInputStream(my_socket.getInputStream());

客户代码

您必须与刚刚创建的服务器建立连接。您将通过初始化套接字并传入服务器的IP地址(通常是用于大多数测试目的的localhost)和服务器当前正在侦听的端口号来执行此操作:

Socket socket = new Socket("localhost", [some_port]);

再次,建立一些沟通流:

ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());
ObjectInputStream in = new ObjectInputStream(socket.getInputStream());

你有它!您现在可以通过Android设备轻松与服务器通信。它比你想象的要简单得多。

但是请注意,这个架构实现了TCP,它比UDP慢得多,并且不适用于任何类型的快节奏数据密集型游戏,但是应该根据上面的描述实现您的目标。