这两种传输方式有什么不同

Android 码拜 9年前 (2016-06-08) 818次浏览
各自的优势在哪里?
第一个:

		createSocket();
		try {
			oos = new ObjectOutputStream(socket.getOutputStream());
			oos.writeObject(u);
			dis=new DataInputStream(socket.getInputStream());
			int flag=dis.readInt();
			if(flag<=0){
				System.out.println("注册失败,该用户已存在");
			}else{
				System.out.println("注册成功");
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

第二个:

		createSocket();
		// 发送对象且将对象转为json传输
		toJsonObject(u, socket);
		// 接受json且将json转为对象
		@SuppressWarnings("unchecked")
		Map<String, Object> maps = (Map<String, Object>) JSONObject.toBean(jsonObjToBean(ois), Map.class);
		// 登录状态
		int flag = (int) maps.get("flag");
		if (flag <= 0) {
			System.out.println("注册失败,该用户已存在");
		} else {
			System.out.println("注册成功");
		}

用到的方法:

	private void toJsonObject(Object obj, Socket s) {
		try {
			// 将数据转为json传输
			JSONObject object = JSONObject.fromObject(obj);
			oos = new ObjectOutputStream(s.getOutputStream());
			oos.writeObject(object.toString());
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	// 把json转为bean
	private JSONObject jsonObjToBean(ObjectInputStream ois) {
		JSONObject object = null;
		try {
			ois = new ObjectInputStream(socket.getInputStream());
			// 解析json至对象
			String str = (String) ois.readObject();
			object = JSONObject.fromObject(str);
		} catch (IOException | ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return object;
	}

想问 用JSON传输和用第一种传输有什么不同?为何要用JSON传输?

解决方案

40

http://blog.csdn.net/woshisap/article/details/6549188

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明这两种传输方式有什么不同
喜欢 (0)
[1034331897@qq.com]
分享 (0)