多个Android客户端和一个Web服务

时间:2017-02-07 19:48:01

标签: java android web-services httpurlconnection multiple-instances

我有一个Android客户端,它将JSON对象发送到服务器(REST服务)。 我的客户端使用urlconnection连接到我服务器端的Web服务。

代码工作正常! 我的服务器端是使用NetBeans上的GlassFish服务器的Java类Web服务。

由于我是客户服务器主题的新手 - 我有几个问题:

  1. 如何在Android Studio上测试多个客户端?如你所知 - 当我在Android工作室运行我的客户端时 - 我只有一个模拟器和一个程序在运行,但我需要运行2个客户端(2个Android设备 - 2个玩家甚至更多)。
  2. 我是否需要在客户端更改某些内容(android)才能使多个客户端同时连接?
  3. 我是否需要在服务器上的网络服务应用中更改某些内容? 我怎么知道处理多个客户端是否安全? *我的服务器还连接到数据库(JDBC)
  4. 客户端(ANDROID): AsyncTask-> doInBackground - >尝试

        try {
    
        JSONObject jsonObject = new JSONObject("string");
    
        // Step2: Now pass JSON File Data to REST Service
        try {
            URL url = new URL("http://localhost:8080/w/JSONService");
            URLConnection connection = url.openConnection();
            connection.setDoOutput(true);
            connection.setRequestProperty("Content-Type", "application/json");
            connection.setConnectTimeout(5000);
            connection.setReadTimeout(5000);
            OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
            out.write(jsonObject.toString());
            out.close();
    
           //string answer from server:
            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            StringBuffer sb = new StringBuffer("");
                String line="";
                while ((line = in.readLine()) != null) {
                    sb.append(line);
                    System.out.println("\n"+line);
            in.close();
        } catch (Exception e) {
            System.out.println("\nError while calling JSON REST Service");
            System.out.println(e);
        }
    
        br.close();
    } catch (Exception e) {
        e.printStackTrace();
    } } }
    

    服务器(JAVA):

    @Path("/w")
    public class JSONRESTService {
    String returned;
    @POST
    @Consumes("application/json")
    @Path("/JSONService")
    
    public String JSONREST(InputStream incomingData) {
    StringBuilder JSONBuilder = new StringBuilder();
    try {
        BufferedReader in = new BufferedReader(new InputStreamReader(incomingData));
        String line = null;
        while ((line = in.readLine()) != null) {
            JSONBuilder.append(line);
        }  returned ="transfer was completed";
    } catch (Exception e) {
        System.out.println("Error Parsing: - ");
         returned ="error";
    }
    System.out.println("Data Received: " + JSONBuilder.toString());
    
    
    return (returned);
     }
     }
    

0 个答案:

没有答案