教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

java网络聊天编程及其代码

来源:网络收集 时间:2026-10-01
导读: 结合所学网络开发应用程序,本文将介绍一个网络聊天程序的开发过程,该程序使用了Swing设置的UI界面,并结合java语言多线程技术使网络聊天更加符合实际需要(可以不间断的,收发多条信息)。 网络聊天 结合所学网络开发应用程序,本文将介绍一个网络聊天程序的开发

结合所学网络开发应用程序,本文将介绍一个网络聊天程序的开发过程,该程序使用了Swing设置的UI界面,并结合java语言多线程技术使网络聊天更加符合实际需要(可以不间断的,收发多条信息)。

网络聊天

结合所学网络开发应用程序,本文将介绍一个网络聊天程序的开发过程,该程序使用了Swing设置的UI界面,并结合java语言多线程技术使网络聊天更加符合实际需要(可以不间断的,收发多条信息)。

最终效果如下

程序的开发步骤如下:

1、 创建UDPmessage类,继承JFrame成为框体类,并实现ActionListener接口。

该类中包括多个成员变量,它们分别是信息接收文本域,信息发送文本框,IP文本

框、“发送”按钮和数据包套接字。

2、

3、 在构造方法中初始化窗体组间,并将组间布局 到窗体中,然后调用Server()方法创建数据包套接字,并添加“发送”按钮的事件监听器。 编写Server()方法,该方法负责创建DatagramSocket数据包套接字和接收信

息的DatagramPacket数据包,最重要的是,该方法在线程中使用无限循环实现数

据包的接收,这是网络程序设计必须掌握的接收数据的方法,这样才能保证数据的

持续接收。然后获取数据包中的IP信息,也就是数据包发送者的IP地址,这个

IP地址将随数据包中的信息一起添加到信息接收文本域中,以区分信息的发布者。

4、 实现ActionListener借口中的actionPerformed()方法,该方法用于处理“发

送”按钮的单击事件,它需要获取ip文本框中的IP信息,这个IP地址将绑定到

准备发送的数据包中。

5、

实现代码如下:

package qq;

import java.awt.*;

import java.awt.event.*;

import java.io.IOException;

import http://doc.guandang.net.*;

import javax.swing.*;

public class UDPmessage extends JFrame implements ActionListener {

/** * */ private static final long serialVersionUID = 1L; private JTextArea text;//信息接收文本域 private JTextField ipText;//IP文本框 private JTextField sendText;//信息发送文本框 private JButton button;//发送按钮 private DatagramSocket socket;//数据报套接字 private JScrollBar vsBar;//滚动条 编写本类的main()主方法,只需简单地创建主窗体对象就可以了。

结合所学网络开发应用程序,本文将介绍一个网络聊天程序的开发过程,该程序使用了Swing设置的UI界面,并结合java语言多线程技术使网络聊天更加符合实际需要(可以不间断的,收发多条信息)。

setTitle("UDP聊天程序");//设置窗体标题 setBounds(100,100,400,300);//窗体定位与大小 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//默认关闭操作为退出程序 setLayout(new BorderLayout());//窗体使用边界布局管理器 text=new JTextArea();//实例化信息接收文本域 text.setEditable(false);//信息接收文本域不可编辑 JScrollPane textPanel=new JScrollPane(text);//信息接收文本域添加滚动面板 vsBar=textPanel.getVerticalScrollBar();//获取滚动面板的垂直滚动条 add(textPanel,BorderLayout.CENTER);//添加滚动面板到窗体居中位置 JPanel panel=new JPanel();//创建panel面板 BorderLayout panelLayout=new BorderLayout();//创建边界布局管理器 panelLayout.setHgap(5);//设置布局水平边界 panel.setLayout(panelLayout);//将布局管理器注入panel面板 ipText=new JTextField("192.168.***.***");//实例化IP文本框(请输入你自public UDPmessage(){ 己IP地址)

panel.add(ipText,BorderLayout.WEST);//添加文本框到panel面板 sendText=new JTextField();//实例化信息发送文本框 panel.add(sendText,BorderLayout.CENTER);//添加信息发送文本框到panel button=new JButton("发送");//实例化发送按钮 panel.add(button,BorderLayout.EAST);//添加按钮到panel面板 add(panel,BorderLayout.SOUTH);//添加面板到窗体 setVisible(true);//显示窗体 server();//调用Server()方法 button.addActionListener(this);//添加按钮事件监听器 } try{ socket=new DatagramSocket(9527);//实例化数据报套接字 byte[] buf=new byte[1024]; final DatagramPacket dpl=new DatagramPacket(buf,buf.length);//创建接Runnable runnable=new Runnable(){//定义线程 public void run(){ while(true){ //使用无限循环体 try{ Thread.sleep(100);//线程休眠时间为100ms socket.receive(dpl);//接收数据包 int length=dpl.getLength(); String message=new String(dpl.getData(),0,length);//private void server(){ 收数据的数据包 获取数据包的字符串信息

结合所学网络开发应用程序,本文将介绍一个网络聊天程序的开发过程,该程序使用了Swing设置的UI界面,并结合java语言多线程技术使网络聊天更加符合实际需要(可以不间断的,收发多条信息)。

} } }; } } if(!InetAddress.getLocalHost().getHostAddress().equals(ip)) } text.append(ip+":\n "+message+"\n"); vsBar.setValue(vsBar.getMaximum());//控制信息滚动 }catch(IOException e){ e.printStackTrace(); e.printStackTrace(); }catch(InterruptedException e){ new Thread(runnable).start(); e.printStackTrace(); }catch(SocketException e){

public void actionPerformed(ActionEvent ev){

}

} } UDPmessage udp= new UDPmessage(); udp.setVisible(true); public static void main(String[] args) { try{ } String ip=ipText.getText();//获取IP文本框内容 InetAddress address=InetAddress.getByName(ip); byte[] data=sendText.getText().getBytes();//获取发送的数据 DatagramPacket dp=new DatagramPacket(data,data.length,address,9527);//定义数据包 String myip=InetAddress.getLocalHost().getHostAddress();//获取本机IP //将发送信息添加到信息接收文本域中 text.append(myip+":\n "+sendText.getText()+":\n"); socket.send(dp);//发送数据包 sendText.setText(null); e.printStackTrace(); e.printStackTrace(); }catch(UnknownHostException e){ }catch(IOException e){

结合所学网络开发应用程序,本文将介绍一个网络聊天程序的开发过程,该程序使用了Swing设置的UI界面,并结合java语言多线程技术使网络聊天更加符合实际需要(可以不间断的,收发多条信息)。

在两台计算机上分别运行,修改IP文本框中的IP地址为接收一方的IP,输入内容点击放松就可以接收了。

…… 此处隐藏:2217字,全部文档内容请下载后查看。喜欢就下载吧 ……
java网络聊天编程及其代码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1801229.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)