user.java

来自「flex实现的前台」· Java 代码 · 共 112 行

JAVA
112
字号
/**
 * 
 */
package cn.humanmonth.chat.server.domain;

import java.net.Socket;

/**
 * @author linzl
 * 
 */
public class User {
	public User(Socket socket) {
		this.socket = socket;
		this.ip = socket.getRemoteSocketAddress().toString().split(":")[0]
				.replaceAll("\\||/", "");
		this.port = Integer.valueOf(socket.getRemoteSocketAddress().toString()
				.split(":")[1]);
	}

	/**
	 * 客户的ip
	 */
	private String ip;
	/**
	 * 端口
	 */
	private Integer port;
	/**
	 * 客户名称、默认值为“游客”
	 */
	private String username = "游客";
	
	/**
	 * 昵称
	 */
	private String nickName=null;
	/**
	 * 对应游客的客户端socket
	 */
	private Socket socket;

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		User user2 = (User) obj;
		if (null == this.ip || null == this.port || null == user2.ip
				|| null == user2.port)
			return false;
		return this.ip.equals(user2.ip) && this.port.equals(user2.port);
	}

	public String getIp() {
		return ip;
	}

	public void setIp(String ip) {
		this.ip = ip;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public Socket getSocket() {
		return socket;
	}

	public void setSocket(Socket socket) {
		this.socket = socket;
	}

	public Integer getPort() {
		return port;
	}

	public void setPort(Integer port) {
		this.port = port;
	}
	
	public String getDisplayName(){
		if(null==this.getNickName()){
			return this.getUsername();
		}else{
			return this.getNickName();
		}
	}
	
	public String getUserNameDetail() {
		String[] nums=this.getIp().split("\\.");
		return this.getDisplayName() + "*" + nums[2]+"."+nums[3] + ":" + this.getPort();
	}
	
	public String getUserNameDetailWithExcapeRegExp(){
		String[] nums=this.getIp().split("\\.");
		return this.getUsername() + "\\*" + nums[2]+"\\."+nums[3] + ":" + this.getPort();

	}

	public String getNickName() {
		return nickName;
	}

	public void setNickName(String nickName) {
		this.nickName = nickName;
	}
}

⌨️ 快捷键说明

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