【问题标题】:Android connect to server ip and portAndroid连接到服务器IP和端口
【发布时间】:2012-10-26 01:44:52
【问题描述】:

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

谢谢

【问题讨论】:

    标签: android connection ip


    【解决方案1】:

    由于 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 慢得多,并且不适用于任何类型的快节奏数据密集型游戏,但根据上面的描述,应该可以实现您的目标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-15
      • 2013-11-23
      • 2011-03-14
      • 1970-01-01
      • 2018-12-01
      • 1970-01-01
      • 2014-06-11
      相关资源
      最近更新 更多