Android聊天工具基于socket实现

2019-12-10 19:09:04王冬梅

8. 注销登录     

public class Logout {
 public OnLogoutListener mListener;
  
 public void setOnLogoutListener(OnLogoutListener listner) {
  mListener = listner;
 }
  
 private Handler mHandler = new Handler() {
  public void handleMessage(Message msg) {
   if(Constant.SUCCESS == msg.what) {
    mListener.onLogout(true);
   }else {
    mListener.onLogout(false);
   }
  };
 };
  
 public void logout(final String user) {
  new Thread(new Runnable() {
   @Override
   public void run() {
    try {
     Socket socket = new Socket();
     socket.connect(new InetSocketAddress("192.168.100.100", 8888), 4000);
     PrintWriter writer = new PrintWriter(socket.getOutputStream());
     writer.println("logout:" + user);
     writer.flush();
      
     BufferedReader reader = new BufferedReader(
       new InputStreamReader(socket.getInputStream()));
      
     if("success".equals(reader.readLine())) {
      PConnection.socket = null;
      mHandler.sendEmptyMessage(Constant.SUCCESS);
     }else {
      mHandler.sendEmptyMessage(Constant.FAILED);
     }
    } catch (Exception e) {
     e.printStackTrace();
    }
   }
  }).start();
 }
  
 public interface OnLogoutListener {
  public void onLogout(boolean success);
 }
}

9. 存放登录后的socket,在发送消息和接收消息时使用该socket     

public class PConnection {
 public static Socket socket;
}

希望本文所述对大家学习有所帮助。



注:相关教程知识阅读请移步到Android开发频道。