黑马程序员——自学笔记15(网络传输2—UDP传输和TCP传输)

本文详细介绍了UDP和TCP传输的区别与应用,包括发送端和接收端的配置方法,以及如何通过键盘输入进行数据传输。同时,文章还讨论了使用TCP传输文件的过程,包括文件名的发送和文件内容的传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

UDP传输:

    发送端:

    DatagramSocket ds=newDatagramSocket(1988);//不指定用默认的时,会以第一个为基础往下顺延

    byte[] b=”I’m coming!”.getByte();

    DatagramPacket     dp=newDatagramPacket(b,b.length,InetAddress.getByName(“192.168.1.255”),10000);

    ds.send(dp);

    ds.close();

    接收端:要定义一个数据包接收发送过来的数据,因为这样可以用数据包的         方法对数据进行操作

    DatagramSocket ds=newDatagramSocket(10000);//指定与发送端一致的端口号

    byte[] b=new byte[1024];

    DatagramPacket dp=new DatagramPacket(b,b.length);

    ds.receive(dp);

    //通过数据包的方法获得其中数据

    String ip=dp.getAddress().getHostAddress();

    //获取发送到的数组长度的数据,以字符串形式

    String data=new String(dp.getData(),0,dp.getLength());

    int port=dp.getPost();//获取发送端端口号

    System.out.println(ip+”::”+data+”::”+port);

    ds.close();

UDP传输中,发送端和接收端是两个程序,分别在两个main函数中

以键盘录入方式:

    发送端     BufferedReader    结束语句

    接收端     while循环     一直不关

TCP传输:

    服务器端:建立后,请求成功,则服务器端会获得客户端对象(accept()-                阻塞式的)

              用同一个流对象:

                  客户端 out——>in 服务器端(缓冲区)

                         in<——out

    客户端:建立时就可以去连接服务器端,要使用OutputStream,向其中write         字节数据

以键盘录入方式:

    服务器端   read() flush() readLine()

    客户端     要关闭Socket,返回-1,客户端接收到,就关闭流

              shutdownCutput();

用TCP传输文件:要先将文件名发个服务器端,服务器端会见一个同名文件,再将源文件的内容发过来,有服务器端写入到新建的文件里(若再发同名文件,会建一个带编号或日期的文件名)

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值