Java中基于TCPsocket的一对一简单聊天室

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

相关文档
最新文档