如何在java中使用网络通信技术实现聊天小程序
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍了如何在java中使用网络通信技术实现聊天小程序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何在java中使用网络通信技术实现聊天小程序文章都会有所收
千家信息网最后更新 2025年11月08日如何在java中使用网络通信技术实现聊天小程序
这篇文章主要介绍了如何在java中使用网络通信技术实现聊天小程序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何在java中使用网络通信技术实现聊天小程序文章都会有所收获,下面我们一起来看看吧。
首先是服务端代码:
package ChatTwoPackage; import java.io.*;import java.net.*; public class ChatTwoServer { public ChatTwoServer(int port,String name) throws IOException { ServerSocket server=new ServerSocket(port);//创建seversocket对象,提供tcp连接服务。指定端口port,等待tcp连接。 System.out.print("正在等待连接,请勿操作!"); Socket client=server.accept();//创建socket对象,它等待接收客户端的连接。 new ChatTwoClient(name,client);//实现图形界面。 server.close(); } public static void main(String[] args) throws IOException { new ChatTwoServer(2001,"SQ"); } }然后是客户端的代码:
package ChatTwoPackage; import java.awt.event.*;import javax.swing.*;import java.net.*;import java.io.*; public class ChatTwoClient extends JFrame implements ActionListener { private String name; private JTextArea text_re; private JTextField text_se; private PrintWriter cout; private JButton buttons[]; public ChatTwoClient(String name,Socket socket) throws IOException { super("我:"+name+InetAddress.getLocalHost().getHostAddress()+":"+socket.getLocalPort()); this.setBounds(320, 240, 400, 240); this.text_re=new JTextArea(); this.text_re.setEditable(false); this.getContentPane().add(new JScrollPane(this.text_re)); JToolBar toolBar=new JToolBar(); this.getContentPane().add(toolBar,"South"); toolBar.add(this.text_se=new JTextField(30)); buttons=new JButton[2]; buttons[0]=new JButton("发送"); buttons[1]=new JButton("下线"); toolBar.add(buttons[0]); toolBar.add(buttons[1]); buttons[0].addActionListener(this); buttons[1].addActionListener(this);//给按钮添加事件监听,委托当前对象处理 this.setVisible(true); this.name=name; this.cout=new PrintWriter(socket.getOutputStream(),true);//获得socket输出流 this.cout.println(name); BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream())); //将socket的字节输入流转换为字符流,默认GBK字符集,再创建缓冲字符输入流 String line="连接"+br.readLine()+"成功"; while(line!=null&&!line.endsWith("bye")) { text_re.append(line+"\r\n"); line=br.readLine(); }//读取对方发送的内容并显示,直到内容为为空或对方下线 br.close(); this.cout.close(); socket.close(); buttons[0].setEnabled(false); buttons[1].setEnabled(false); } public ChatTwoClient(String name,String host,int port) throws IOException { this(name,new Socket(host,port));//调用另一个构造方法 } public void actionPerformed(ActionEvent ev) { if(ev.getActionCommand().equals("发送")) { this.cout.println(name+":"+text_se.getText()); text_re.append("我:"+text_se.getText()+"\n"); text_se.setText(""); }//按下发送按钮后,将内容发出,并更新自己聊天框的内容 if(ev.getActionCommand().equals("下线")) { text_re.append("你已下线\n"); this.cout.println(name+"离线\n"+"bye\n"); buttons[0].setEnabled(false); buttons[1].setEnabled(false); }//下线按钮按下后,发送bye作为下线标记 } public static void main(String[] args) throws IOException { new ChatTwoClient("mxl","127.0.0.1",2001); //ip地址和端口 } }运行效果:
说明:
1.两台计算机一台作为服务端,作为服务端的计算机需要有两个代码。首先运行服务端的代码,等待客户端机器连接,客户端运行客户端代码后,提示连接成功。就可以发送信息了。
2.运行代码前需要将ip地址改为自己计算机当前的ip地址(Modem、ISDN、ADSL、有线宽频、小区宽频等方式上网的计算机,每次上网所分配到的IP地址都不相同,这称为动态IP地址)。如果要用一台计算机充当客户端和服务端,就将ip地址写为:127.0.0.1(127.0.0.1是回送地址,指本地机,一般用来测试使用)。先运行服务端代码,再运行客户端代码即可。
关于"如何在java中使用网络通信技术实现聊天小程序"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"如何在java中使用网络通信技术实现聊天小程序"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
代码
地址
客户
服务
下线
内容
运行
客户端
计算机
技术
程序
网络
通信技术
通信
端的
字符
对象
按钮
知识
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全法学习资料
南通学创网络技术有限公司
淮南网络技术
电力监控系统网络安全工作
网络安全有国界周鸿祎
软件工程 网络安全
php怎么和数据库连接
微信聊天记录服务器保存多久
网络安全儿歌幼儿园
数据库创建表出现1064
分销拓客软件开发
不适用网络安全法
暗黑二重制版服务器怎么样
万方数据库收录的论文有哪些
视频聊天软件开发费用多少
浪潮信息开始做服务器芯片吗
纸壳强互联网科技有限公司
思科的dns服务器
网络安全事件案例民航
服务器的出口带宽指的是
云计算和网络安全有关吗
幼儿园护苗网络安全课简报
关系型模型数据库的优缺点
西安有线网络技术发展有限公司
软件开发架构师培训机构
网络安全刘建伟课后答案
郑州金优米互联网科技最新消息
口袋日月华为服务器关闭
分布式数据库事务隔离性验证
数据库模式又叫