}
} catch (IOException e) {
System.out.println("Error:" + e);
}
}
/**
* 向客户端发送消息
* @param msg
*/
public void send(StringBuffer msg) {
ps.println(msg);
ps.flush();
}
//线程运行方法
public void run() {
while (running) {
String line = null;
try {
//读取客户端发来的数据流
line = br.readLine();
} catch (IOException e) {
System.out.println("Error" + e);
ChatServer.disconnect(this);
ChatServer.notifyRoomPeople();
return;
}
//客户已离开
if (line == null){
ChatServer.disconnect(this);
ChatServer.notifyRoomPeople();
return;
}
StringTokenizer st = new StringTokenizer(line, Constants.SEPERATOR);
String keyword = st.nextToken();
// 如果关键字是MSG则是客户端发来的聊天信息
if (keyword.equals(Constants.MSG_IDENTIFER)){
StringBuffer msg = new StringBuffer(Constants.MSG_IDENTIFER).append(Constants.SEPERATOR);
msg.append(clientName);
msg.append(st.nextToken("\0"));
// 再将某个客户发来的聊天信息发送到每个连接客户的聊天栏中
ChatServer.sendMsgToClients(msg);
} else if (keyword.equals(Constants.QUIT_IDENTIFER)) {
// 如果关键字是QUIT则是客户端发来断开连接的信息
// 服务器断开与这个客户的连接
ChatServer.disconnect(this);
// 继续监听聊天室并刷新其他客户的聊天人名list
ChatServer.notifyRoomPeople();
running = false;
}
}
}
public void toStop(){
running = false;
}
// 覆盖Object类的equals方法
public boolean equals(Object obj){
if (obj instanceof ClientProcessor){
ClientProcessor obj1 = (ClientProcessor)obj;
if (obj1.clientIP.equals(this.clientIP)
(obj1.clientName.equals(this.clientName))){
return true;
}
}
return false;
}
// 覆盖Object类的hashCode方法
public int hashCode(){
return (this.clientIP + Constants.SEPERATOR + this.clientName).hashCode();
}
}
package Chat;
/**
* 定义聊天室程序中用到的常量
*/
public class Constants {
// 服务器的端口号
public static final int SERVER_PORT = 2525;
public static final int MAX_CLIENT = 10;
// 消息标识符与消息体之间的分隔符
public static final String SEPERATOR = ":";
// 消息信息的标识符
public static final String MSG_IDENTIFER = "MSG";
// 用户列表信息的标识符
public static final String PEOPLE_IDENTIFER = "PEOPLE";
// 连接服务器信息的标识符
public static final String CONNECT_IDENTIFER = "INFO";
// 退出信息标识符
public static final String QUIT_IDENTIFER = "QUIT";
}
高分求java纸牌游戏源代码Araneid 蜘蛛纸牌游戏
详细参考工程主页java棋牌服务端代码:
源代码下载(或附件)java棋牌服务端代码:
二进制下载java棋牌服务端代码:
运行时请先解压缩java棋牌服务端代码,然后执行 classes 目录下java棋牌服务端代码的 start.bat
java棋牌服务端代码的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于棋牌服务端主程序、java棋牌服务端代码的信息别忘了在本站进行查找喔 。
推荐阅读
- java代码实现元素去重,java删除元素
- html5li之间,html5lib
- 为什么ios搜不到曙光英雄,曙光英雄ios什么时候上架
- 在户外体育游戏活动中,户外体育游戏活动中班
- vbnet暂停 vba暂停后继续
- flutter上传图片到服务器,flutter dio上传图片
- chatgpt曲谱,chasing pavements简谱
- java看代码执行顺序 java查看程序执行时间
- 网络电视安装什么韩剧,网络电视安装什么韩剧软件