- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java群聊代码
1.服务器端类:
package com.hnnd.chatroom;
import java.io.BufferedReader;//导入缓冲流
import java.io.IOException;//导入输入输出异常类
import java.io.InputStream;//导入输入字节流
import java.io.InputStreamReader;//导入输入字符流
import java.net.*;//提供socket套接字
import java.util.Vector;//提供Vector类
//server类提供TCP连接服务
public class Server {
public static void main(String[] args) throws IOException {//主方法
// 建一个服务器Socket,开放9000端口
ServerSocket ss = new ServerSocket(9000);
int num = 0;
System.out.println(服务器开始);
while (true) {
//用来保存Socket对象的容器
VectorSocket v=new VectorSocket();
// 等待客户端连接
Socket sock = ss.accept();
num++;
//通过Socket得到一个输入流
InputStream in=sock.getInputStream();
//字节流转化为字符流
InputStreamReader inr=new
InputStreamReader(in);
v.add(sock);//每进来一个客户就向Vector加一个Socket对象
//启动一个接收线程,传入输入流和Vector
new ServerInputThread(in,v).start();
System.out.println(num + 号用户连接成功!);
}
}
}
2.客户端类:
package com.hnnd.chatroom;
import java.awt.*;//导入awt中的 BorderLayout,
import java.awt.event.ActionEvent;//导入单击事件类
import java.awt.event.ActionListener;//导入单击事件监听器
import java.awt.event.ItemEvent;//导入下拉框的事件类
import java.awt.event.ItemListener;//导入下拉框的数据项监听器类
import javax.swing.*;// 导入swing组中的JFrame,JButton,JPanel,JTextField,JLabel,JComboBox,JTextArea
import java.io.IOException;//导入输入输出异常类
import java.net.*;//提供socket套接字
import java.io.*;//导入输入输出流
//client类提供聊天室的图形用户界面
Public class Client extends JFrame implements ActionListener,ItemListener{ //client 类继承swing组件中的JFrame实现单击事件接口
//两个按钮
// 3.写组件
//两个按钮
JButton conBut=new JButton(连接);
JButton sendBut=new JButton(发送);
//两个文本框
JTextField servername=new JTextField(20);
JTextField content=new JTextField(20);
//一个标签
JLabel lab=new JLabel(服务器名:);
//下拉框
JComboBox jcb=new JComboBox();
//一个文本域,显示消息
public JTextArea ttt=new JTextArea();
Socket sock;
//第一步 1.显示窗口
public Client() {
// 2.构建三个JPanel面板(放其他组件)
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel
原创力文档


文档评论(0)