Java中基于TCPsocket的一对一简单聊天室
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江苏经贸职业技术学院
信息技术学院
2015-2016-2学年
《网络编程技术(java)》课程期末大作业
2016年4月
一、程序功能简介
本程序拥有图形界面与一对一聊天程序,实现监听连接、发送、退出功能。先启动Server服务器端程序进行端口监听,然后启动Client客户端连接Server端IP地址与端口号,Server端监听到后显示连接成功,可以进行通信。
二、运行界面截图
(一)界面主程序
(二)客户端程序
三、核心代码说明
(一)Client、java核心代码说明示例
package gwd;
import java、awt、*;
import java、awt、event、*;
import java、io、*;
import java、net、InetAddress;
import java、net、InetSocketAddress;
import java、net、Socket;
import java、net、UnknownHostException;
import javax、swing、*;
import javax、swing、border、EmptyBorder;
public class Client extends JFrame implements Runnable, ActionListener, KeyListener {
private static final long serialVersionUID = 85429018L;
private JScrollPane textPane;//滚动条
private JLabel pcLabel,portLabel;//标签
private JTextArea chatArea;//聊天内容区域
private JTextField pctextField,porttextField,sendField;//文本框
private JButton connectButton,sendButton;//按钮
private Socket socket;//客户端套接字对象
private DataInputStream in;//数据输入流对象
private DataOutputStream out;//数据输出流对象
private Thread thread;//线程
private JComboBox namecomboBox;//下拉列表框
public Client() {
createUserInterface();//调用图形界面
setTitle("客户端");//设置标题
setSize(550,500);//设置宽度与高度
setResizable( false );//禁用界面最大化
setLocationRelativeTo(null);//自动释放大小
setVisible(true);//窗口显示出来
setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE);//点击关闭默认关闭窗口
}
public void createUserInterface() {
setLayout(null);//设置布局
JPanel contentPane=new JPanel();//创建顶部 panel
contentPane、setBounds(5, 5, 525 , 50);//设置panel坐标
add(contentPane);//添加控件到窗口屏幕中
pcLabel = new JLabel("主机:");//创建主机标签
contentPane、add(pcLabel);
pctextField = new JTextField();//创建主机文本框
contentPane、add(pctextField);
pctextField、setColumns(10);
portLabel = new JLabel("端口");//创建端口标签
contentPane、add(portLabel);
porttextField = new JTextField();//创建端口文本框
porttextField、setColumns(10);
contentPane、add(porttextField);
namecomboBox = new JComboBox();//创建下拉列表框
namecomboBox、addItem( "张三" );//设置值
namecomboBox、addItem( "李四" );//设置值
namecomboBox、setSelectedIndex( 0 );
namecomboBox、setEditable(true);//设置允许选择
contentPane、add(namecomboBox);
chatArea = new JTextArea();//创建聊天内容区域
chatArea、setLineWrap(true); //设置换行
textPane = new JScrollPane(chatArea);//滚动条
textPane、setBounds(5, 60, 525, 360);
add(textPane);