资源简介
使用套接字(Socket、ServerSocket)创建一个应用程序,实现网络数据的传输。
实现客户端和服务器端的通信。
含客户端服务器图形用户界面

代码片段和文件信息
package Chat;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.styledDocument;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.Calendar;
import java.io.*;
public class Chatframe extends Jframe implements ActionListener ItemListener
Runnable ListSelectionListener {
private static final long serialVersionUID = 1L;
String IP;
// 好友列表
private JList peopleList;
private JButton refurbishButton;
public DefaultListModel listModel;
int port = 6200;
private Box leftbox = null;
private Box rightbox = null;
private Box leftrightbox = null;
private Box rightleftbox = null;
// 菜单栏
private Box box = null; // 放输入组件的容器
private styledDocument doc = null;
private JTextPane commonArea = null; // 公共发言区
private JTextPane myMsgArea = null;// 我的频道发言区
public JComboBox perponsComboBox; // 下拉菜单
private JTextArea inMsgField; // 发言输入框
private JCheckBox privateTalk; // 私聊checkbox
private boolean privateTalkFlag = false; // 是否是私聊默认值为假
private JButton sentButton; // 发送消息按钮
public BufferedReader in;
public PrintWriter out;
public String myName;
private String withWho = “所有人“;
String outmsg;// 发送的信息
String mywords;// 要说的话*
JPanel centerPanel;
JScrollPane commonAreaScroll;
JScrollPane myMsgAreaScroll;
JScrollPane inMsgFieldScroll;
public Chatframe(String host) {
super(host + “的聊天室“);
try { // 使用Windows的界面风格
UIManager
.setLookAndFeel(“com.sun.java.swing.plaf.windows.WindowsLookAndFeel“);
} catch (Exception e) {
e.printStackTrace();
}
myName = host;
try {
InetAddress addr = InetAddress.getLocalHost();
IP = addr.getHostAddress().toString();// 获得本机IP
} catch (Exception e) {
System.out.print(“无法获取本地主机“);
}
JPanel eastPanel = new JPanel(new BorderLayout());
JLabel title = new JLabel(“我的在线好友“);
listModel = new DefaultListModel();// 实现 java.util.Vector API 在发生更改时通知
// ListDataListener
peopleList = new JList(listModel);
peopleList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);// 设置单选还是多选
JScrollPane ListScrollPane = new JScrollPane(peopleList);
ListScrollPane.setPreferredSize(new Dimension(150 400));
refurbishButton = new JButton(“刷新列表“);
leftrightbox = Box.createHorizontalBox(); // 行结构
eastPanel.add(title BorderLayout.NORTH);
eastPanel.add(ListScrollPane BorderLayout.CENTER);
eastPanel.add(refurbishButton BorderLayout.SOUTH);
leftrightbox.add(eastPanel);
refurbishButton.addActionListener(this);// 监听刷新按钮
peopleList.addListSelectionListener(this);
Box rightabove = Box.createVerticalBox();
rightabove.add(leftrightbox);
rightbox = Box.createVerticalBox();// 竖结构
rightbox.add(Box.createVerticalStrut(10));
rightbox.add(rightabove);
rightbox.add(Box.createVer
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-01-02 12:59 网络chatzhao\Chat\
文件 12533 2012-12-25 17:44 网络chatzhao\Chat\Chatfr
文件 4427 2012-12-25 17:44 网络chatzhao\Chat\Connect.java
目录 0 2013-01-02 12:59 网络chatzhao\Server\
文件 2609 2012-12-25 17:44 网络chatzhao\Server\ChatServer.java
文件 2859 2012-12-25 17:44 网络chatzhao\Server\ClientProc.java
目录 0 2013-01-02 12:59 网络chatzhao\
- 上一篇:分布式干扰对齐
- 下一篇:中文姓名拼音常见字典
相关资源
- 通信软件的具体实例──基于Socket的
- Windows异步套接字网络编程
- 用Socket编程实现FTP
- websocket实现一对一聊天
- 代码客:G-TcpServer(IOCP) 1.0 正式版及
- SOCKET 网络编程 计算机网络 作业 客户
- linux 网络实验 ftp程序
- 用Socket写的简易FTP服务器和客户端
- socket小工具(可方便建立TCP UDP的soc
- socket客户端源码
- 基于CSocket的多人聊天室
- socket文件传输源码
- Socket自制系统
- HP用SOCKET实现(客户端---服务端)
- zeromq的windows版本安装包
- STM32分别以串口硬件SPI模拟并口驱动
- 《TCP/IP:协议分析与应用编程》课后
- linux下基于socket和curses的双人弹球游戏
- 计算机网络socket编程实验
- linux下socket can 编程详解
- FANUC机器人Socket Message通讯设置及使用
- Delphi简单实现局域网远程开机
- 易语言websocket服务器源码
- 易语言同步异步套接字模块源码
- 易语言原始套接字应用源码
- websocket规范 RFC6455 中文版
- 富士康H61S主板最新BIOS,支持22NCPU
- Socket-UDP整合消息接收,发送
- websocket-rtsp-proxy-test.zip
- 基于QTsocket的局域网聊天室
评论
共有 条评论