问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求一个简单的 局域网聊天工具 的 JAVA代码。 只要可以发送文字就行。 谢谢!!!

发布网友 发布时间:2022-05-10 14:39

我来回答

3个回答

热心网友 时间:2023-10-12 02:34

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class ServerChat extends JFrame implements Runnable{
/**
* @param args
*/
JLabel lblSend=new JLabel("请输入要发送的信息");
JTextField txtSend=new JTextField(20);
JTextArea txaContent=new JTextArea(10,20);
JButton btnSend=new JButton("发送");
Socket s=null;
ServerSocket sc=null;
boolean flag=true;

public ServerChat(){
super("服务器端");
init();
}
private void init(){
setLayout(new BorderLayout());
JPanel p1=new JPanel();
p1.setLayout(new FlowLayout());
p1.add(lblSend);p1.add(txtSend);p1.add(btnSend);
add(p1,BorderLayout.NORTH);
add(txaContent,BorderLayout.CENTER);
btnSend.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try {
DataOutputStream dos=new DataOutputStream(s.getOutputStream());
DataInputStream dis=new DataInputStream(s.getInputStream());
String tmp=txtSend.getText().trim();
txaContent.append("我说:"+tmp+"\n");
dos.writeUTF(tmp);
txtSend.setText("");
if(tmp.trim().equals("bye"))
{
flag=false;s.close();
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
try {
sc=new ServerSocket(3000);
for(int i=0;i<2;i++)
s=sc.accept();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
setSize(400,400);
setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void run() {
try {
DataInputStream dis = new DataInputStream(s.getInputStream());
while (flag) {
String tmp = dis.readUTF();
txaContent.append(tmp+"\n");
if(tmp.trim().equals("bye"))
{
s.close();break;
}
}
dis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ServerChat c=new ServerChat();
new Thread(c).start();
}

}

package ch4;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class ClientChat extends JFrame implements Runnable {
/**
* @param args
*/
JLabel lblSend = new JLabel("请输入要发送的信息");
JTextField txtSend = new JTextField(20);
JTextArea txaContent = new JTextArea(10, 20);
JButton btnSend = new JButton("发送");
Socket s = null;
boolean flag=true;
public ClientChat() {
super("客户端");
init();
}

private void init() {
setLayout(new BorderLayout());
JPanel p1 = new JPanel();
p1.setLayout(new FlowLayout());
p1.add(lblSend);
p1.add(txtSend);
p1.add(btnSend);
add(p1, BorderLayout.NORTH);
add(txaContent, BorderLayout.CENTER);
btnSend.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {

DataOutputStream dos = null;
try {
dos = new DataOutputStream(s.getOutputStream());
DataInputStream dis = new DataInputStream(s
.getInputStream());
String tmp = txtSend.getText().trim();
txaContent.append("我说:" + tmp+"\n");
txtSend.setText("");
if(tmp.trim().equals("bye")){
s.close();flag=false;
}
try {
dos.writeUTF(tmp);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

}
});
try {
s = new Socket("localhost", 3000);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
setSize(400, 400);
setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public void run() {
try {
DataInputStream dis = new DataInputStream(s.getInputStream());
while (true) {
String tmp = dis.readUTF();
txaContent.append(tmp+"\n");
if(tmp.trim().equals("bye"))
{
s.close();break;
}
}
dis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static void main(String[] args) {
// TODO Auto-generated method stub
ClientChat c = new ClientChat();
new Thread(c).start();
}

}

热心网友 时间:2023-10-12 02:35

网上很多的,比较专业的网站csdn ,我一直用,注册个帐号就可以,或者你可以找你的学长,估计他们做过了,我以前也是找的前辈的代码,这个最直接了,嘿嘿!!!

热心网友 时间:2023-10-12 02:35

我也同求啊 谢谢
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何在win10下安装docker? windows(win10)上的docker使用:安装(国内镜像)、操作 win10安装dockerWin10下Docker安装和使用 关于安装配置docker,找不到Hyper-V(win10 家庭版需要配置,专业版不需要... 怎么把微信上的聊天记录转到新手机 怎么把聊天记录转到另一个手机 快递被别人冒领,快递公司有没有责任 洋葱汤洋葱汤 一颗洋葱汤怎么做 一颗洋葱汤怎么做好吃 oppo线下有A32吗? 图中的人物是我国杰出的发明家,他的重大发明是 A.指南针 B.雕版印刷术 C.活字印刷术 D.火 交互式电视的2.交互式电视的体系结构 人机交互系统的介绍 什么是交互式操作系统 人机交互系统是什么?都有哪些汽车品牌使用人机交互系统? 人机交互系统的概述 海信TLM46V66PK电视指示灯红蓝交替闪烁无法开机,如何维修? 交互设计师的知识体系应当是什么样的 什么是四元交互体系 什么是四元交互体系? 惠普CP1525n彩色激光打印机怎么样? 适合学生激光打印机的什么样子的? 结合道德和法律意识以及社会热点,如何加强大学生网络文明问题的建议 问一下,这手绘是用什么画的。铅笔可以这样? 手绘要用的铅笔色号是什么? 手绘建筑图用什么铅笔 手机直播时有吱吱的声音? 如何学习快板 哪里可以下到教天津快板的视频啊???!!! 弹出聊天工具代码 求校内网低部网页聊天工具条的代码效果 急需vb网络聊天工具代码 苹果手机不开屏幕锁,怎么用耳机播放音乐 提供一个由Java编写的包括服务器端和客户端的聊天工具的原代码 宁波烟草网 怎么样才能订购多点香烟,老是去订购好的全部库存0,中华也是,只能订购差的 宁波烟草客户类别:B4 是什么意思? 宁波烟草专卖许可证是怎样办的 宁波烟草公司订货的话,可以用网银支付吗? 宁波烟草十五档位是什么意思 我想知道在宁波烟草公司有没定距离办烟草证? 宁波烟草登录名前面的英文字母是什么 什么是泰迪,泰迪是什么意思,泰迪解释 浙江宁波烟草智能管理系统怎么删除卷烟:可是换了电脑怎么下载怎样安装帮忙一 宁波烟草笔试裸考能过吗 宁波烟草十一假期订货安排 宁波市烟草公司 宁波办烟草证是什么程序 景观灯柱横截面直径是多少? 路灯都分为哪些?其标准的尺寸大概是?