Java用UDP实现简单聊天
程序员文章站
2024-03-22 18:03:28
...
服务器代码
import network.day1.Server;
import java.io.IOException;
import java.net.*;
import java.util.Scanner;
/**
* @ClassName UdpServer
* @Description TODO
* @Author 码农天宇
* @Date 2020/12/6 16:28
* @Version 1.0
*/
public class UdpTalkServer {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
//创建服务器对象 并指定端口
DatagramSocket server = new DatagramSocket(9876);
while (true){
//创建数据报,接受数据
byte[] recv = new byte[1024];
DatagramPacket packetRecv = new DatagramPacket(recv,0, recv.length);
//接收消息
server.receive(packetRecv);
//读取数据
String recvDate = new String(recv,0, packetRecv.getLength());
System.out.println("客户端: " + recvDate);
//获取客户端ip
InetAddress address = packetRecv.getAddress();
//获取客户端端口
int port = packetRecv.getPort();
//创建数据报
System.out.print("服务器: ");
byte[] send = sc.next().getBytes();
DatagramPacket sendDate = new DatagramPacket(send,send.length,address,port);
//发送数据给客户端
server.send(sendDate);
//关闭资源
//server.close();
}
}
}
客户端代码
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;
/**
* @ClassName UdpClient
* @Description TODO
* @Author 码农天宇
* @Date 2020/12/6 16:28
* @Version 1.0
*/
public class UdpTalkClient {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
//创建客户端
DatagramSocket client = new DatagramSocket();
//定义客户端地址,端口号
InetAddress address = InetAddress.getByName("localhost");
int port = 9876;
while (true){
//创建数据
System.out.print("客户端: ");
byte[] send = sc.next().getBytes();
DatagramPacket packet = new DatagramPacket(send, send.length,address,port);
//发送数据
client.send(packet);
//创建数据报,用于接受数据
byte[] recv = new byte[1024];
DatagramPacket packetRecv = new DatagramPacket(recv,0,recv.length);
//接受数据
client.receive(packetRecv);
//读取并打印数据
String recvDate = new String(recv,0,recv.length);
System.out.println("服务器: " + recvDate);
//关闭
//client.close();
}
}
}
server
客户端: 你好,服务器
服务器: 你好,客户端
客户端: 一个i澳网i李刚i熬过i奥
服务器: 嗷嗷嗷
client
客户端: 你好,服务器
服务器: 你好,客户端
客户端: 一个i澳网i李刚i熬过i奥
服务器: 嗷嗷嗷
客户端:
上一篇: TCP实现简单聊天
下一篇: STL中的string
推荐阅读
-
Java用UDP实现简单聊天
-
TCP实现简单聊天
-
简单的TCP/java聊天室
-
用Eclipse在Web项目引用Java项目时实现热部署 博客分类: 技术话题 WebJavaEclipseTomcatJSP
-
用cookie和session实现自动登录 博客分类: JAVA EE javafilterservlet
-
用cookie和session实现自动登录 博客分类: JAVA EE javafilterservlet
-
IText 自html tag 转为 pdf 用java 实现,实例完整。拿出来共享,谢谢。 博客分类: java htmlitextpdfjavajar
-
java单链表-带头结点和不带头结点单链表的简单实现
-
用Java EE 5实现的网上书店实例<转> 博客分类: java JavaNetbeansGlassfishJPAJSF
-
mybatis如何实现注解sql的简单例子 博客分类: java mybatissql注解