⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logonaction.java

📁 一个基于eclipse插件开发的聊天程序
💻 JAVA
字号:
package talkClient;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;import org.eclipse.jface.action.Action;import org.eclipse.jface.dialogs.InputDialog;import org.eclipse.jface.dialogs.MessageDialog;import org.eclipse.jface.window.Window;import org.eclipse.swt.widgets.Display;import org.eclipse.ui.IWorkbenchWindow;public class LogOnAction extends Action {	private final IWorkbenchWindow window;	LogOnAction(String text, IWorkbenchWindow window) {		super(text);		this.window = window;		// The id is used to refer to the action in a menu or toolbar		setId(ICommandIds.CMD_LOG_ON);		// Associate the action with a pre-defined command, to allow key		// bindings.		setActionDefinitionId(ICommandIds.CMD_LOG_ON);		setImageDescriptor(talkClient.TalkClientPlugin				.getImageDescriptor("/icons/sample3.gif"));	}	public void run() {		// LOG ON		String ip_str = "";		String password = "";		// GET IP		InetAddress ip = null;		try {			// [NAME]/[ADDRESS]			ip = InetAddress.getLocalHost();		} catch (UnknownHostException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}		ip_str = ip.toString().split("/")[1];		// IP INPUT		InputDialog dlg = new InputDialog(				Display.getCurrent().getActiveShell(), "Log On", "IP Address",				ip_str, null);		if (dlg.open() == Window.OK) {			ip_str = dlg.getValue().trim();			// PASSWORD INPUT			InputDialog dlg1 = new InputDialog(Display.getCurrent()					.getActiveShell(), "Log On", "Password", "", null);			if (dlg1.open() == Window.OK) {				password = dlg1.getValue().trim();				System.out.println(ip_str);				System.out.println(password);				// REMOTE LOG ON				switch (logOn(ip_str, password)) {				case 0:					MessageDialog.openInformation(Display.getCurrent()							.getActiveShell(), "Information", "Log on sucess.");					break;				case 1:					MessageDialog							.openError(Display.getCurrent().getActiveShell(),									"Error",									"You have not registered.\nPlease contact with administrator.");					break;				case 2:					MessageDialog.openError(Display.getCurrent()							.getActiveShell(), "Error", "Wrong password.");					break;				case 3:					MessageDialog.openInformation(Display.getCurrent()							.getActiveShell(), "Information", "Already log on.");					break;				}			}		}	}	private int logOn(String ip_str, String password) {		// MAKE THE REQUEST PACKAGE		// [0]::[IP]::[PASSWORD]		String logOn_req = "0::" + ip_str + "::" + password;		// SOCKET CONNECTION		Socket req_socket = null;		try {			req_socket = new Socket("172.18.80.34", 1860);		} catch (UnknownHostException e) {			MessageDialog.openError(Display.getCurrent().getActiveShell(),					"Error", "Connection failed!");		} catch (IOException e) {			MessageDialog.openError(Display.getCurrent().getActiveShell(),					"Error", "Connection failed!");		}		PrintWriter pw = null;		try {			pw = new PrintWriter(req_socket.getOutputStream(), true);		} catch (IOException e2) {			e2.printStackTrace();		}		// SENT THE PACKAGE		pw.println(logOn_req);		// RECEIVE THE RESPONSE FROM		// 0 -- SUCCESS		// 1 -- IP NOT EXIST, SO NEED REGISTER		// 2 -- PASSWORD WRONG		// 3 -- ALREADY LOG ON		String logOn_response = "";		BufferedReader br_in = null;		try {			br_in = new BufferedReader(new InputStreamReader(req_socket					.getInputStream()));			logOn_response = br_in.readLine();						br_in.close();			pw.close();			req_socket.close();					} catch (IOException e3) {			// TODO Auto-generated catch block			e3.printStackTrace();		}		System.out.println(logOn_response);				return Integer.parseInt(logOn_response);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -