谁可以给我一个Java设计的最最最最最简单的有服务端和客户端的聊天程序

 我来答
程序那点事
2008-12-13 · TA获得超过6140个赞
知道大有可为答主
回答量:3253
采纳率:59%
帮助的人:1341万
展开全部
这个是UDP写的
这个是客户端
import java.awt.event.*;
import java.net.*;
import javax.swing.*;

public class UDPClientDemo extends JFrame{
String host="localhost"; //服务器地址
int port=2345; //端口号

public UDPClientDemo(){
try{
DatagramSocket socket=new DatagramSocket(); //实例化一个数据报Socket
InetAddress address=InetAddress.getByName(host); //服务器地址
byte[] buffer=new byte[256]; //缓冲区
DatagramPacket packet=new DatagramPacket(buffer,buffer.length,address,port); //实例化一个数据报
socket.send(packet); //发送报文

packet=new DatagramPacket(buffer,buffer.length);
socket.receive(packet); //接受回应

String message=new String(packet.getData()); //得到报文信息
System.out.println("Received from: "+packet.getAddress()); //显示信息源地址
System.out.println(message); //显示服务器返回信息

socket.close(); //关闭端口
}
catch (Exception ex){
ex.printStackTrace(); //输出出错信息
}
}

public static void main(String[] args){
new UDPClientDemo();
}
}

这个是服务器
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;

public class UDPServerDemo extends JFrame{
int port=2345; //端口号

public UDPServerDemo(){
try{
byte[] buffer=new byte[256]; //缓冲区数组
DatagramSocket socket=new DatagramSocket(port); //实例化数据报Socket
DatagramPacket packet;
System.out.println("Server start..."); //输出运行信息

while (true){
packet=new DatagramPacket(buffer,buffer.length); //实例化数据报
socket.receive(packet); //接受请求
InetAddress target=packet.getAddress();
System.out.println("Received from"+target); //输出请求地址
int port=packet.getPort(); //得到接收端口
byte[] message="This is server,Who are you?".getBytes(); //服务器返回信息
packet=new DatagramPacket(message,message.length,target,port); //实例化数据报
socket.send(packet); //发送数据报
}
}
catch (Exception ex){
ex.printStackTrace(); //输出出错信息
}
}

public static void main(String[] args){
new UDPServerDemo();
}
}

这个其实还可以简化 做成最简单的 但是这个两个代码里面你可以学习到很多知识 很经典的代码
5780731llk
2008-12-13 · TA获得超过315个赞
知道答主
回答量:79
采纳率:0%
帮助的人:36.9万
展开全部
两个类分开,先启动服务器端口,然后启动客户断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式