下面的源代码分为4个文件;
(2chessInterface.java:客户端的界面。(3chessPad.java:棋盘的绘制。(4chessServer.java:服务器端。
可同时容纳50个人同时在线下棋,聊天。
publicvoidacceptMessage(StringrecMessage{
if(recMessage.startsWith("/userlist"{
StringTokenizeruserToken=newStringTokenizer(recMessage,"";intuserNumber=0;
chessclient.userpad.userList.removeAll(;chessclient.inputpad.userChoice.removeAll(;chessclient.inputpad.userChoice.addItem("所有人";while(userToken.hasMoreTokens(
{
Stringuser=(StringuserToken.nextToken("";if(userNumber>0&&!user.startsWith("[inchess]"{
chessclient.userpad.userList.add(user;chessclient.inputpad.userChoice.addItem(user;}
userNumber++;
}
chessclient.inputpad.userChoice.select("所有人>>>>";}
elseif(recMessage.startsWith("/yourname"{
chessclient.chessClientName=recMessage.substring(10;
chessclient.setTitle("Java五子棋客户端"+"用户名:"+chessclient.chessClientName;}
elseif(recMessage.equals("/reject"{try{
chessclient.chesspad.statusText.setText("不能加入游戏";chessclient.controlpad.cancelGameButton.setEnabled(false;chessclient.controlpad.joinGameButton.setEnabled(true;chessclient.controlpad.creatGameButton.setEnabled(true;
>>>>
}
catch(Exceptionef{
chessclient.chatpad.chatLineArea.setText("chessclient.chesspad.chessSocket.close无法关闭";
}
chessclient.controlpad.joinGameButton.setEnabled(true;}
elseif(recMessage.startsWith("/peer"{
chessclient.chesspad.chessPeerName=recMessage.substring(6;if(chessclient.isServer
{
chessclient.chesspad.chessColor=1;
chessclient.chesspad.isMouseEnabled=true;
chessclient.chesspad.statusText.setText("请黑棋下子";}
elseif(chessclient.isClient{
chessclient.chesspad.chessColor=-1;
chessclient.chesspad.statusText.setText("已加入游戏,等待对方下子...";}}
elseif(recMessage.equals("/youwin"{
chessclient.isOnChess=false;
chessclient.chesspad.chessVictory(chessclient.chesspad.chessColor;
chessclient.chesspad.statusText.setText("对方退出,请点放弃游戏退出连接";chessclient.chesspad.isMouseEnabled=false;}
elseif(recMessage.equals("/OK"
{
chessclient.chesspad.statusText.setText("创建游戏成功,等待别人加入...";}
elseif(recMessage.equals("/error"{
chessclient.chatpad.chatLineArea.append("传输错误:请退出程序,重新加入\n";}else{
chessclient.chatpad.chatLineArea.append(recMessage+"\n";chessclient.chatpad.chatLineArea.setCaretPosition(chessclient.chatpad.chatLineArea.getText(.length(;
}
}
publicvoidrun({
Stringmessage="";try{
while(true{
message=chessclient.in.readUTF(;acceptMessage(message;}
}