资源简介
java写局域网通讯工具(只需jdk1.7即可运行!),主要使用socket编程编写,完美实现局域网内信息通讯,可限制聊天人数和端口号设置!
代码片段和文件信息
package client;
import java.awt.BorderLayout;//布置容器的边框布局
import java.awt.Color;
import java.awt.GridLayout;//布局处理器
import java.awt.Toolkit;//抽象超类
import java.awt.event.ActionEvent;//指示发生了组件定义的动作的语义事件
import java.awt.event.ActionListener;//用于接收操作事件的侦听器接口
import java.awt.event.MouseEvent;//指示组件中发生鼠标动作的事件
import java.awt.event.MouseListener;//鼠标事件的侦听器接口
import java.awt.event.WindowAdapter;//接收窗口事件的抽象适配器类。此类中的方法为空。此类存在的目的是方便创建侦听器对象
import java.awt.event.WindowEvent;//指示窗口状态改变的低级别事件
import java.io.BufferedReader;//提供通用的缓冲方式文本读取
import java.io.IOException;//输入输出异常
import java.io.InputStreamReader;//字节流通向字符流的桥梁
import java.io.PrintWriter;//向文本输出流打印对象的格式化表示形式
import java.net.Socket;//套接字,网络上的两个程序通过一个双向的通信连接实现数据交换的通信
import java.util.HashMap;// HashMap 是 Map 接口的常用实现类
import java.util.Map;//存数据,将键映射到值的对象
import java.util.StringTokenizer;//允许应用程序将字符串分解为标记
import javax.swing.BorderFactory;//创建一个浮雕式的边框
import javax.swing.DefaultListModel;//列表模型
import javax.swing.JButton;//按钮
import javax.swing.Jframe;//窗口
import javax.swing.JLabel;//标签
import javax.swing.JList;//列表
import javax.swing.JOptionPane;//对话框
import javax.swing.JPanel;
import javax.swing.JScrollPane;//视图
import javax.swing.JSplitPane;//分隔
import javax.swing.JTextArea;//多行文本
import javax.swing.JTextField;//文本
import javax.swing.border.EmptyBorder;//一个占用空间但不执行绘制的空透明边框
import javax.swing.border.titledBorder;//该类实现在指定位置以指定对齐方式显示字符串标题的任意边框
import oldchat.Chatframe;
import pojo.User;
/**
* 客户端
* 不能单独运行使用,必须先把服务器端启动后再F11启动
*/
@SuppressWarnings(“unused“)
public class Client
{
private Jframe frame;
@SuppressWarnings(“rawtypes“)
private JList userList;
private JTextArea textArea;
private JTextField textField;
private JTextField txt_port;
private JTextField txt_hostIp;
private JTextField txt_name;
private JButton btn_start;
private JButton btn_stop;
private JButton btn_send;
private JPanel northPanel;
private JPanel southPanel;
private JScrollPane rightScroll;
private JScrollPane leftScroll;
private JSplitPane centerSplit;
@SuppressWarnings(“rawtypes“)
private DefaultListModel listModel;
private boolean isConnected = false;
private Socket socket;//创建套接字
private PrintWriter writer;
private BufferedReader reader;
private MessageThread messageThread;// 负责接收消息的线程
private Map onLineUsers = new HashMap();// 所有在线用户
// 主方法程序入口
public static void main(String[] args)
{
new Client();
}
// 执行发送
public void send()
{
if (!isConnected)
{
JOptionPane.showMessageDialog(frame “还没有连接服务器,无法发送消息!“ “错误“
JOptionPane.ERROR_MESSAGE);
return;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 55038 2018-04-20 16:27 使用帮助\1.png
文件 66264 2018-04-20 16:31 使用帮助\2.png
文件 66798 2018-04-20 16:34 使用帮助\3.png
文件 232 2018-04-15 17:29 给别人的客户端\send_manager\.classpath
文件 388 2018-04-15 17:29 给别人的客户端\send_manager\.project
文件 636 2018-04-20 16:25 给别人的客户端\send_manager\bin\client\Client$1.class
文件 633 2018-04-20 16:25 给别人的客户端\send_manager\bin\client\Client$2.class
文件 2235 2018-04-20 16:25 给别人的客户端\send_manager\bin\client\Client$3.class
文件 1487 2018-04-20 16:25 给别人的客户端\send_manager\bin\client\Client$4.class
文件 1416 2018-04-20 16:25 给别人的客户端\send_manager\bin\client\Client$5.class
文件 759 2018-04-20 16:25 给别人的客户端\send_manager\bin\client\Client$6.class
文件 3680 2018-04-20 16:25 给别人的客户端\send_manager\bin\client\Client$MessageThread.class
文件 8129 2018-04-20 16:25 给别人的客户端\send_manager\bin\client\Client.class
文件 384 2018-04-20 16:23 给别人的客户端\send_manager\bin\oldchat\Chatfr
文件 822 2018-04-20 16:25 给别人的客户端\send_manager\bin\pojo\User.class
文件 17607 2018-04-20 16:25 给别人的客户端\send_manager\src\client\Client.java
文件 156 2018-04-20 16:23 给别人的客户端\send_manager\src\oldchat\Chatfr
文件 489 2018-04-20 16:25 给别人的客户端\send_manager\src\pojo\User.java
文件 232 2018-04-15 17:29 客户端+服务器端\send_manager\.classpath
文件 388 2018-04-15 17:29 客户端+服务器端\send_manager\.project
文件 636 2018-04-20 16:25 客户端+服务器端\send_manager\bin\client\Client$1.class
文件 633 2018-04-20 16:25 客户端+服务器端\send_manager\bin\client\Client$2.class
文件 2235 2018-04-20 16:25 客户端+服务器端\send_manager\bin\client\Client$3.class
文件 1487 2018-04-20 16:25 客户端+服务器端\send_manager\bin\client\Client$4.class
文件 1416 2018-04-20 16:25 客户端+服务器端\send_manager\bin\client\Client$5.class
文件 759 2018-04-20 16:25 客户端+服务器端\send_manager\bin\client\Client$6.class
文件 3680 2018-04-20 16:25 客户端+服务器端\send_manager\bin\client\Client$MessageThread.class
文件 8129 2018-04-20 16:25 客户端+服务器端\send_manager\bin\client\Client.class
文件 384 2018-04-20 16:23 客户端+服务器端\send_manager\bin\oldchat\Chatfr
文件 822 2018-04-20 16:25 客户端+服务器端\send_manager\bin\pojo\User.class
............此处省略38个文件信息
- 上一篇:数据结构(Java)复习题
- 下一篇:闹钟源代码
评论
共有 条评论