Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import org.json.JSONObject;
- import jsc.kennel.ChatClient;
- import jsc.kennel.ChatResponseHandler;
- import jsc.kennel.ChatSetting;
- import jsc.kennel.util.FileUtils;
- import jsc.kennel.util.ServerConstants;
- public class ClientStart implements ChatSetting {
- ChatClient client = null;
- SendContentThread st = null;
- String address = "127.0.0.1";
- int port = 13456;
- boolean bLogin = false;
- String username = "";
- String password = "";
- String id = "";
- public ClientStart() {
- File userClient = new File("userclient.txt");
- if (!userClient.exists()) {
- try {
- userClient.createNewFile();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- public void initUser() {
- try {
- String jsonvalue = FileUtils
- .readFileAsString(ServerConstants.USERS_CLIENT_FILE);
- JSONObject obj = new JSONObject(jsonvalue);
- // id = obj.get("key").toString();
- } catch (Exception ex) {
- System.out.println(ex);
- }
- }
- public void SaveData() {
- try {
- JSONObject obj = new JSONObject();
- obj.put("key", id);
- PrintWriter writer = new PrintWriter(
- ServerConstants.USERS_CLIENT_FILE, "UTF-8");
- writer.println(obj.toString());
- writer.close();
- } catch (Exception ex) {
- Logger.getLogger(ClientStart.class.getName()).log(Level.SEVERE,
- null, ex);
- }
- }
- public void AnalysisCommand(String msg) {
- String[] tmp = msg.split("\\s");
- /*
- * if (tmp.length < 1) { Desc(); return; }
- */
- if (tmp[0].equals(CMD_LOGIN)) {
- if (tmp.length < 3) {
- Desc();
- return;
- }
- username = tmp[1];
- password = tmp[2];
- String sms = MESSAGE_LOGIN + MESSAGE_UNIT_SEP + username
- + MESSAGE_UNIT_SEP + password;
- sendMessage(sms);
- } else if (tmp[0].equals(CMD_MENU)) {
- Desc();
- } else if (tmp[0].equals(CMD_LOGOUT)) {
- String sms = MESSAGE_LOGOUT;
- sendMessage(sms);
- }
- else if (tmp[0].equals(CMD_SETUSRPASS)) {
- username = tmp[1];
- password = tmp[2];
- String sms = MESSAGE_SETNICKPASS + MESSAGE_UNIT_SEP + username
- + MESSAGE_UNIT_SEP + password;
- sendMessage(sms);
- } else if (tmp[0].equals(CMD_GETNICK)) {
- String sms = MESSAGE_GETNICK;
- sendMessage(sms);
- }
- else if (tmp[0].equals((CMD_ADD_FRIEND))) {
- String sms = MESSAGE_ADD_FRIEND + msg;
- sendMessage(sms);
- } else if (tmp[0].equals(CMD_GET_FRIENDS_LIST)) {
- String sms = GET_FRIENDS_LIST;
- System.out.println("client send");
- sendMessage(sms);
- }
- else if (tmp[0].equals(CMD_SPLIT)) {
- String sms = MESSAGE_SPLIT + msg;
- System.out.println("client will split");
- sendMessage(sms);
- } else if (tmp[0].equals(CMD_STATUS)) {
- String sms = MESSAGE_STATUS + msg;
- System.out.println("client will status");
- sendMessage(sms);
- } else if (tmp[0].equals(CMD_PAY)) {
- String sms = MESSAGE_PAYED + msg;
- System.out.println("client will payed");
- sendMessage(sms);
- } else if (tmp[0].equals(CMD_CREATE_GROUP)) {
- String sms = MESSAGE_CREATE_GROUP + msg;
- System.out.println("client will make group");
- sendMessage(sms);
- } else if (tmp[0].equals(CMD_SPLIT_GROUP)) {
- String sms = MESSAGE_SPLIT_GROUP + msg;
- System.out.println("client will split in group");
- sendMessage(sms);
- } else {
- System.out.println("Illegal command, try one from the menu");
- }
- return;
- }
- public void sendMessage(String sms) {
- sms = id + MESSAGE_UNIT_SEP + sms;
- client.sendMessage(sms);
- }
- public void AnalysisContent(String msg) {
- if (msg.contains(MESSAGE_NO_LOGIN_CREDENTIALS)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- System.out.println(tmp[2]);
- }
- if (msg.contains(MESSAGE_REGISTER_FAIL)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- System.out.println(tmp[2]);
- return;
- }
- if (msg.contains(MESSAGE_LOGIN_STATUS_FAIL)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- System.out.println(tmp[2]);
- }
- if (msg.contains(MESSAGE_PAYED_STATUS_OK)
- || msg.contains(MESSAGE_PAYED_STATUS_FAIL)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- System.out.println(tmp[2]);
- }
- if (msg.contains(MESSAGE_LOGIN_OK)) {
- // if (!bLogin) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- this.id = tmp[2];
- System.out.println("You logged in successfully");
- return;
- }
- if (msg.contains(MESSAGE_LOGIN_FAIL)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- System.out.println(tmp[2]);
- return;
- }
- if (msg.contains(MESSAGE_SETNICKPASS_OK)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- String username = tmp[2];
- System.out.println("Nickname changed to " + username);
- return;
- }
- if (msg.contains(MESSAGE_SETNICKPASS_FAIL)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- String reason = tmp[2];
- System.out.println("Failed because : " + reason);
- return;
- }
- if (msg.contains(MESSAGE_GETNICKOK)
- || msg.contains(MESSAGE_GETNICKFAIL)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- String result = tmp[2];
- System.out.println(result);
- return;
- }
- if (msg.contains(MESSAGE_SPLIT_FAIL)
- || msg.contains(MESSAGE_SPLIT_OK)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- String result = tmp[2];
- System.out.println(result);
- return;
- }
- if (msg.contains(MESSAGE_LOGOUT_OK)) {
- System.out.println("Successfull logout.");
- bLogin = false;
- return;
- }
- if (msg.contains(MESSAGE_GETFRIENDSOK)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- System.out.println(tmp[1]);
- return;
- }
- if (msg.contains(MESSAGE_GETFRIENDSFAIL)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- System.out.println(tmp[1]);
- return;
- }
- if (msg.contains(MESSAGE_ADD_FRIEND_OK)
- || msg.contains(MESSAGE_ADD_FRIEND_FAIL)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- System.out.println(tmp[2]);
- return;
- }
- if (msg.contains(MESSAGE_PAYMENT_STATUS)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- System.out.println(tmp[2]);
- return;
- }
- if (msg.contains(MESSAGE_CREATE_GROUP_OK)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- System.out.println(tmp[2]);
- return;
- }
- if (msg.contains(MESSAGE_CREATE_GROUP_FAIL)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- System.out.println(tmp[2]);
- return;
- }
- if (msg.contains(MESSAGE_SPLIT_GROUP_FAIL)
- || msg.contains(MESSAGE_SPLIT_GROUP_OK)) {
- String tmp[] = msg.split(MESSAGE_UNIT_SEP);
- System.out.println(tmp[2]);
- return;
- }
- }
- class SendContentThread extends Thread {
- @Override
- public void run() {
- while (client.isOpen()) {
- try {
- String msg = readInput();
- if (msg.length() > 0) {
- AnalysisCommand(msg);
- }
- sleep(100);
- } catch (InterruptedException ex) {
- Logger.getLogger(ClientStart.class.getName())
- .log(Level.SEVERE, null, ex);
- }
- }
- }
- }
- public String readInput() {
- String str = "";
- try {
- byte b[] = new byte[1024];
- int readedByte = 0;
- // while((readedByte=System.in.read(b))!=-1)
- // {
- readedByte = System.in.read(b);
- str += new String(b, 0, readedByte);
- // }
- return str;
- } catch (IOException ex) {
- Logger.getLogger(ClientStart.class.getName()).log(Level.SEVERE,
- null, ex);
- }
- return "";
- }
- public void Desc() {
- System.out.println("Commands are as follows");
- System.out.println(" 1) " + CMD_LOGIN + " <username> <password>");
- System.out.println(" 2) " + CMD_LOGOUT + "");
- System.out.println(" 3) " + CMD_MENU + "");
- System.out.println(" 4) ");
- System.out
- .println(" 5) " + CMD_SETUSRPASS + " <username> <password>");
- System.out.println(" 6) " + CMD_SHOWALLUSER);
- System.out.println(" 7) " + CMD_ADD_FRIEND + " <friend-name>");
- System.out.println(" 8) " + CMD_SPLIT_GROUP
- + " <amount> <group-name> <reason>");
- System.out.println(" 9) " + CMD_STATUS + " <friend-name>");
- System.out.println(" 10) " + CMD_PAY + " <amount> <friend-name> ");
- System.out.println(" 11) " + CMD_CREATE_GROUP
- + " <group-name> <user1> ... <userN>");
- }
- public ClientStart(String add, int prt) {
- address = add;
- port = prt;
- try {
- initUser();
- if (id.isEmpty()) {
- id = System.currentTimeMillis() + "";
- SaveData();
- }
- client = new ChatClient(id, address, port,
- new ChatResponseHandler() {
- @Override
- public void onMessage(String message) {
- AnalysisContent(message);
- }
- });
- client.start();
- // SecurityThread secTh = new SecurityThread();
- // secTh.start();
- st = new SendContentThread();
- st.start();
- client.sendMessage(MESSAGE_REG + MESSAGE_UNIT_SEP + id);
- Desc();
- } catch (IOException ex) {
- Logger.getLogger(ClientStart.class.getName()).log(Level.SEVERE,
- null, ex);
- }
- }
- public static void main(String... args) {
- if (args.length < 2) {
- System.out.println(
- "please input correct parameter . ex: java -jar client.jar 127.0.0.1 13456");
- // System.exit(0);
- }
- new ClientStart("127.0.0.1", 13456);
- }
- }
Add Comment
Please, Sign In to add comment