Android连接服务器ip和端口

标签 android connection ip

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

谢谢

最佳答案

由于 Android 开发工具是 Java 原生的,您可以使用简单的 Java 套接字 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 地址(对于大多数测试目的通常是本地主机)和服务器当前正在监听的端口号来执行此操作:

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

同样,建立一些通信流:

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

就是这样!您现在可以轻松地从 Android 设备与服务器通信。它比您想象的要简单得多。

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

关于Android连接服务器ip和端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13245389/

相关文章:

android - android中的磁盘缓存是什么,它与物理硬盘空间有什么不同?

java - 从 Android 应用程序消耗 JSON 的奇怪异常

iPhone TCP/IP Socket 服务器/客户端程序

json - 使用 NSURLSession 下载 JSON 不会返回任何数据

c# - 每个 IP 一键点击

Android 小部件无法接收 DATE_CHANGED 消息

java - 为什么 onLongPress() 不像所有其他 SimpleOnGestureListener 那样返回 boolean 值?

Android,Bluemix 错误 401 : You are not authorized

MySQL:如何进行更快的 IP 范围查询?地理IP

web-scraping - 动态更改IP地址?