五子棋java代码 javafx五子棋游戏( 六 )


System.out.println(head); //在控制台打印头信息
}
} 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怎么编写??java网络五子棋
下面的源代码分为4个文件;
chessClient.java:客户端主程序 。
chessInterface.java:客户端的界面 。
chessPad.java:棋盘的绘制 。
chessServer.java:服务器端 。
可同时容纳50个人同时在线下棋,聊天 。
没有加上详细注释,不过绝对可以运行,j2sdk1.4下通过 。
/*********************************************************************************************
1.chessClient.java
**********************************************************************************************/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
class clientThread extends Thread
{
chessClient chessclient;
clientThread(chessClient chessclient)
{
this.chessclient=chessclient;

推荐阅读