Java-Socket通訊 同時JSON傳遞與解析
阿新 • • 發佈:2018-11-30
服務端
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; import net.sf.json.JSONObject; public class Server_2 { public static void main(String[] args) { Scanner in=new Scanner(System.in); InputStreamReader isr; BufferedReader br; OutputStreamWriter osw; BufferedWriter rw; try { ServerSocket serverSocket=new ServerSocket(4444); Socket socket=serverSocket.accept(); isr=new InputStreamReader(socket.getInputStream()); br=new BufferedReader(isr); String str=br.readLine(); JSONObject object=JSONObject.fromObject(str); System.out.println("ID:"+object.getInt("ID")); System.out.println("Name:"+object.getString("name")); System.out.println("password:"+object.getString("password")); br.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } }
客服端
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.Socket; import java.util.Scanner; import net.sf.json.JSONObject; public class Client_2 { public static void main(String[] args) { Scanner in = new Scanner(System.in); InputStreamReader isr; BufferedReader br; OutputStreamWriter osw; BufferedWriter rw; try { Socket socket = new Socket("localhost", 4444); osw = new OutputStreamWriter(socket.getOutputStream()); rw = new BufferedWriter(osw); User user = new User(); System.out.println("Id:"); user.setID(in.nextInt()); in.nextLine(); System.out.println("Name:"); user.setName(in.nextLine()); System.out.println("Password:"); user.setPassword(in.nextLine()); JSONObject jsonObject = JSONObject.fromObject(user); rw.write(jsonObject.toString()+"\n"); rw.close(); socket.close(); } catch (Exception e) { // TODO: handle exception } } }
User
public class User { int ID; String name; String password; public int getID() { return ID; } public void setID(int iD) { ID = iD; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }