欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > UDP Socket聊天室(Java)

UDP Socket聊天室(Java)

2025/2/21 3:31:05 来源:https://blog.csdn.net/qq_62859013/article/details/142361194  浏览:    关键词:UDP Socket聊天室(Java)

 UDP聊天室:循环的发送字

通过while循环,文字一直可以发送

dp.getData()是获取DatagramPacket中存储的数据的字节数组。

发送端:
package TseUDP;import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Scanner;public class LoginCelint {//客户端public static void main(String[] args) {System.out.println("我是客户端---------------");//发送信息Scanner scanner = new Scanner(System.in);DatagramPacket dp = null;DatagramSocket ds = null;try {while (true){System.out.print("客户端请输入:");String msg = scanner.nextLine();dp = new DatagramPacket(msg.getBytes(),msg.getBytes().length,InetAddress.getByName("127.0.0.1"),8888);ds = new DatagramSocket();ds.send(dp);//接收byte b[] = new byte[100];dp = new DatagramPacket(b,b.length);ds.receive(dp);String content = new String(dp.getData());System.out.println("服务器说"+content);}} catch (Exception e) {e.printStackTrace();}finally {ds.close();}}
}
接收端:
package TseUDP;import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketAddress;
import java.util.Scanner;public class LoginServer {//服务器public static void main(String[] args) {System.out.println("我是服务端——————————");Scanner scanner = new Scanner(System.in);DatagramPacket dp = null;DatagramSocket ds = null;try {ds = new DatagramSocket(8888);while (true) {byte b[] = new byte[100];dp = new DatagramPacket(b, b.length);//等待接收ds.receive(dp);//拆包String msg = new String(dp.getData());System.out.println("客户端对我说:" + msg);//发送System.out.print("服务器请输入:");String content = scanner.next();//发送地址:获得上个数据包的发送地址SocketAddress sa = dp.getSocketAddress();dp = new DatagramPacket(content.getBytes(),content.getBytes().length,sa);ds.send(dp);}} catch (Exception e) {e.printStackTrace();}finally {ds.close();}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词