• 大小: 49KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: Java
  • 标签: socket  java  Tcp  ip  

资源简介

基于socket编写的java五子棋项目,采用tcp iP协议。操作方法:先启动服务器,再开两个客户端,随便填写用户名加入游戏即可!

资源截图

代码片段和文件信息

package djr.chess.client;

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;

import javax.swing.Jframe;

import djr.chess.gui.UserChatPad;
import djr.chess.gui.UserControlPad;
import djr.chess.gui.UserInputPad;
import djr.chess.gui.UserListPad;
import djr.chess.pad.FIRPad;

// 五子棋客户端
public class FIRClient extends Jframe implements ActionListener KeyListener
{
// 客户端套接口
Socket clientSocket;
// 数据输入流
DataInputStream inputStream;
// 数据输出流
DataOutputStream outputStream;
// 用户名
String chessClientName = null;
// 主机地址
String host = null;
// 主机端口
int port = 4331;
// 是否在聊天
boolean isOnChat = false;
    // 是否在下棋
boolean isOnChess = false;
// 游戏是否进行中
boolean isGameConnected = false;
// 是否为游戏创建者
boolean isCreator = false; 
// 是否为游戏加入者
boolean isParticipant = false;
// 用户列表区
UserListPad userListPad = new UserListPad();
// 用户聊天区
UserChatPad userChatPad = new UserChatPad();
// 用户操作区
UserControlPad userControlPad = new UserControlPad();
// 用户输入区
UserInputPad userInputPad = new UserInputPad();
// 下棋区
FIRPad firPad = new FIRPad();
// 面板区
Panel southPanel = new Panel();
Panel northPanel = new Panel();
Panel centerPanel = new Panel();
Panel eastPanel = new Panel();

// 构造方法,创建界面
public FIRClient()
{
super(“Java 五子棋客户端“);
setLayout(new BorderLayout());
host = userControlPad.ipInputted.getText();

eastPanel.setLayout(new BorderLayout());
eastPanel.add(userListPad BorderLayout.NORTH);
eastPanel.add(userChatPad BorderLayout.CENTER);
eastPanel.setBackground(Color.LIGHT_GRAY);

userInputPad.contentInputted.addKeyListener(this);

firPad.host = userControlPad.ipInputted.getText();
centerPanel.add(firPad BorderLayout.CENTER);
centerPanel.add(userInputPad BorderLayout.SOUTH);
centerPanel.setBackground(Color.LIGHT_GRAY);
userControlPad.connectButton.addActionListener(this);
userControlPad.createButton.addActionListener(this);
userControlPad.joinButton.addActionListener(this);
userControlPad.cancelButton.addActionListener(this);
userControlPad.exitButton.addActionListener(this);
userControlPad.createButton.setEnabled(false);
userControlPad.joinButton.setEnabled(false);
userControlPad.cancelButton.setEnabled(false);

southPanel.add(userControlPad BorderLayout.CENTER);
southPanel.setBackground(Color.LIGHT_GRAY);

addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
if (isOnChat)
{ // 聊天中
try
{  // 关闭客户端套接口
clientSocket.close();
}
catch (Exception ed){}
}
if (isOnChess || isGameConnected)
{ // 下棋中
try
{   // 关闭下棋端口
firPad.chessSocket.close();
}
catch (Exception ee){}
}
System.exit(0);
}
});

add(eastPanel BorderLayout.EAST);
add(centerPanel BorderLayout.CENTER);
add(southPanel BorderLayout.SOUTH);
pack();
se

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-23 12:50  5ziqi\
     文件         232  2018-12-23 12:50  5ziqi\.classpath
     文件         381  2018-12-23 12:50  5ziqi\.project
     目录           0  2018-12-23 12:50  5ziqi\.settings\
     文件          88  2018-12-23 12:50  5ziqi\.settings\org.eclipse.core.resources.prefs
     文件       21197  2018-12-23 12:50  5ziqi\.settings\org.eclipse.jdt.core.prefs
     文件         124  2018-12-23 12:50  5ziqi\.settings\org.eclipse.jdt.ui.prefs
     目录           0  2018-12-23 12:50  5ziqi\bin\
     目录           0  2018-12-23 12:50  5ziqi\bin\djr\
     目录           0  2018-12-23 12:50  5ziqi\bin\djr\chess\
     目录           0  2018-12-23 12:50  5ziqi\bin\djr\chess\client\
     文件        1118  2018-12-23 12:50  5ziqi\bin\djr\chess\client\FIRClient$1.class
     文件        8394  2018-12-23 12:50  5ziqi\bin\djr\chess\client\FIRClient.class
     文件        4160  2018-12-23 12:50  5ziqi\bin\djr\chess\client\FIRClientThread.class
     目录           0  2018-12-23 12:50  5ziqi\bin\djr\chess\gui\
     文件         720  2018-12-23 12:50  5ziqi\bin\djr\chess\gui\UserChatPad.class
     文件        1371  2018-12-23 12:50  5ziqi\bin\djr\chess\gui\UserControlPad.class
     文件        1207  2018-12-23 12:50  5ziqi\bin\djr\chess\gui\UserInputPad.class
     文件         956  2018-12-23 12:50  5ziqi\bin\djr\chess\gui\UserListPad.class
     目录           0  2018-12-23 12:50  5ziqi\bin\djr\chess\pad\
     文件        9959  2018-12-23 12:50  5ziqi\bin\djr\chess\pad\FIRPad.class
     文件         744  2018-12-23 12:50  5ziqi\bin\djr\chess\pad\FIRPointBlack.class
     文件         744  2018-12-23 12:50  5ziqi\bin\djr\chess\pad\FIRPointWhite.class
     文件        2290  2018-12-23 12:50  5ziqi\bin\djr\chess\pad\FIRThread.class
     目录           0  2018-12-23 12:50  5ziqi\bin\djr\chess\server\
     文件         696  2018-12-23 12:50  5ziqi\bin\djr\chess\server\FIRServer$1.class
     文件        4723  2018-12-23 12:50  5ziqi\bin\djr\chess\server\FIRServer.class
     文件        8146  2018-12-23 12:50  5ziqi\bin\djr\chess\server\FIRServerThread.class
     文件        1302  2018-12-23 12:50  5ziqi\bin\djr\chess\server\ServerMsgPanel.class
     目录           0  2018-12-23 12:50  5ziqi\src\
     目录           0  2018-12-23 12:50  5ziqi\src\djr\
............此处省略18个文件信息

评论

共有 条评论