19/5/3

看了网络编程,顺便做个自娱自乐的小程序

做了个自己给自己聊天的程序

左边的代码

public class UDPsend {

//发送数据

public static void main(String[] args) throws IOException {

InetAddress ip=InetAddress.getLocalHost();//获取本地地址

DatagramSocket ds=new DatagramSocket();

DatagramPacket dp=null;

InputStream is=System.in;

while(true)

{

byte[] pk=new byte[100];//每一次都新建一个数组来确保不会重叠

System.out.println("发送端----------"+"\n");

is.read(pk);

dp=new DatagramPacket(pk,pk.length,ip,10000);

ds.send(dp);//发送

String s=new String(pk,0,4);

if(s.equals("再见")) {

System.out.println("------------您退出了聊天器");

ds.close();//关闭资源

break;

}

}

}

}

右边的代码


public class UDPaccept {

public static void main(String[] args) throws IOException {

//建立Socket

DatagramSocket ds=new DatagramSocket(10000);

byte[] b=new byte[20];

//创建数据包用于存储接收到的数据,方便用数据包对象的方法解析这些数据

DatagramPacket dp=new DatagramPacket(b,20);

//使用Socket服务的receive方法将接受的数据存储到数据包中

while(true) {

System.out.println("接收端----------");

ds.receive(dp);

int port =dp.getPort();

String text=new String(dp.getData(),0,dp.getLength());//还有回车符

// System.out.println(ip+" "+port+"  "+text);

Date d=new Date();

System.out.println(d.toString()+"\n"+text);

if(new String(dp.getData(),0,4).equals("再见"))

{

System.out.println("对方退出了群聊----------------------");

ds.close();

break;

}

}

}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,410评论 0 4
  • package net; import java.io.BufferedReader; import java.i...
    自由主义者阅读 548评论 0 0
  • 前言 多年以前自学Java,在本地做了一些笔记。最近几年流行播客,一方面防止丢失,一方面可以帮助其他小伙伴...
    chaohx阅读 1,042评论 0 3
  • UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。简单来说,当一台计算机向另外一台计算机...
    CQ_TYL阅读 544评论 0 0
  • 怪枭谷中鸣,群禽飞兽惊。 孤身飞苍穹,摇摇不及高。 珠峰身下过,白云相偎依。 昼起夜落栖,百兽远相离。 晨起饮朝露...
    姜德馨阅读 371评论 2 3