📜  使用 gjava 的 json 格式的 http 响应 - Javascript 代码示例

📅  最后修改于: 2022-03-11 15:02:17.360000             🧑  作者: Mango

代码示例1
package service;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedInputStream;
import cn.edu.thu.cv.util.Base64Image;

public class Client {
    public static final String IP_ADDR = "***. ***. ***. ***";//The server address should be changed to the server's IP here
    public static final int PORT = 12345;//Server port number  
    
    
    public static int register (String name, String imgPath, int opNum) {
        String imgStr = Base64Image.GetImageStr (imgPath);//It converts the image information into base64 encoding
        int isRegSuccess = 0;
         while (true) {  
                Socket socket = null;
                try {
                    //Create a stream socket and connect it to the specified port number on the specified host
                    socket = new Socket (IP_ADDR, PORT);  
                    System.out.println ("Connection has been established");        
                    //Send data to the server  
                    Map  map = new HashMap  ();
                    map.put ("name", name);
                    map.put ("img", imgStr);
                    map.put ("op", opNum + "");
                    //Convert json to String type  
                    JSONObject json = new JSONObject (map);
                    String jsonString = "";
                        jsonString = json.toString ();
                    //Convert String to byte []
                    //byte [] jsonByte = new byte [jsonString.length () + 1];
                    byte [] jsonByte = jsonString.getBytes ();
                    DataOutputStream outputStream = null;
                    outputStream = new DataOutputStream (socket.getOutputStream ());
                         System.out.println ("The length of the data sent is:" + jsonByte.length);
                    outputStream.write (jsonByte);
                    outputStream.flush ();
                        System.out.println ("Data transfer completed");
                        socket.shutdownOutput ();
                    
                   //Read server-side data  
                    DataInputStream inputStream = null;
                    String strInputstream = "";
                    inputStream = new DataInputStream (new BufferedInputStream (socket.getInputStream ())); 
                    strInputstream = inputStream.readUTF ();
                    System.out.println ("The input information is:" + strInputstream);
                    JSONObject js = new JSONObject (strInputstream);
                    System.out.println (js.get ("isSuccess"));
                    isRegSuccess = Integer.parseInt ((String) js.get ("isSuccess")); 
                   //Disconnect if you receive "OK"  
                    if (js! = null) {  
                        System.out.println ("The client will close the connection");  
                        Thread.sleep (500);  
                        break;  
                    }  
                    
                } catch (Exception e) {
                    System.out.println ("Client exception:" + e.getMessage ()); 
                    break;
                } finally {
                    if (socket! = null) {
                        try {
                            socket.close ();
                        } catch (IOException e) {
                            socket = null; 
                            System.out.println ("Client finally exception:" + e.getMessage ()); 
                        }
                    }
                }
            }
         return isRegSuccess;    
    }
    
    public static void main (String [] args) {  
          register ("gongyunfei", "D:/test1.jpg", 1);//The third parameter is the type of operation server can know what you are doing
   }  
}