Android 制作聊天应用程序

Android 制作聊天应用程序,android,Android,我想做一个聊天应用程序,我在GitHub上找到了以下代码:。作者创建了一个函数来发送一条如下所示的消息 public String sendHttpRequest(String params) { URL url; String result = new String(); try { url = new URL(AUTHENTICATION_SERVER_ADDRESS);

我想做一个聊天应用程序,我在GitHub上找到了以下代码:。作者创建了一个函数来发送一条如下所示的消息

public String sendHttpRequest(String params)
    {       
        URL url;
        String result = new String();
        try 
        {
            url = new URL(AUTHENTICATION_SERVER_ADDRESS);
            HttpURLConnection connection;
            connection = (HttpURLConnection) url.openConnection();
            connection.setDoOutput(true);

            PrintWriter out = new PrintWriter(connection.getOutputStream());

            out.println(params);
            out.close();

            BufferedReader in = new BufferedReader(
                    new InputStreamReader(
                            connection.getInputStream()));
            String inputLine;

            while ((inputLine = in.readLine()) != null) {
                result = result.concat(inputLine);              
            }
            in.close();         
        } 
        catch (MalformedURLException e) {
            e.printStackTrace();
        } 
        catch (IOException e) {
            e.printStackTrace();
        }           

        if (result.length() == 0) {
            result = HTTP_REQUEST_FAILED;
        }

        return result;


    }
其中,私有静态最终字符串身份验证\u服务器\u地址=http://192.168.0.102/android-im/index.php;

在这里他还解释了如何让它运行

所以,我的问题是:据我所知,作者将所有消息发送到他的服务器,然后服务器将它们发送给用户。那个么,若PC被关闭,服务器将无法工作,他的聊天也无法工作,对吗?如果是,有人能告诉我如何在没有服务器的情况下使用聊天应用程序吗


谢谢你

你需要的是一个P2P聊天的实现,你可以在Android中直接使用WIFI。签出此代码:


通常,聊天应用程序需要有一个中央服务器来接收消息并将其发送到正确的节点。您粘贴的代码就是这种实现。

是的,似乎它要求服务器始终在线。但智能手机上的所有现代聊天应用程序都是这样工作的:电报、Whatsapp、Threema,所有谷歌聊天。。。。如果没有服务器,您将依靠两部智能手机同时在线的事实来建立直接连接。这是一个巨大的缺点,不利于移动操作系统的任何节能功能。而且,如果双方总是在不同的时间在线,他们很难沟通


因此,本质上你需要自己决定是真正想要点对点还是基于服务器的聊天。请记住,即使在P2P的情况下,您也必须找出其他聊天客户端的IP地址。然后您可能还需要使用某种服务器。

只需将服务器托管在某个地方即可