黑马程序员_java网络编程1

------- android培训java培训、期待与您交流! ----------

 

一.基本概念

         IP地址:计算机用来发送接收数据的地址。有了IP地址,别人就能将数据准确的发送给你的计算机。(127.0.0.1本机回环地址)

         端口号:计算机程序用来发送接收数据的地址。有了端口号,别人就能将数据准确的放送给你计算机的某个程序。(计算机中有效端口0~65535,0~1024为系统保留端口)

         通信协议:发送和接收数据的规则。

                   --UDP协议

                         面向无连接,容易丢包,数据传输较快,数据包大小限制在64KB内。

                   --TCP协议

                          面向连接,不易丢包,数据传输较慢,能进行大数据传送。

        Socket:程序间的发送和接收数据的塔台,数据在两个Socket 间通过IO传输。

 

二.UDP协议下的Socket编写

      -- 数据发送端的Socket编写

          1.创建DatagramSocket对象。发送数据包,并指定发送数据的端口

                   DatagramSocket ds = new   DatagramSocket (6666);

          2.确定数据,并将要发送的数据封装成包即将数据封装到DatagramPacket对象中。

                   byte[] buf = 'abcdefghijklmnopqrstuvwxyz".getByte();

                   DatagramPacket  dp = new    DatagramPacket (buf, buf.length, InetAddress.getByName("127.0.0.1"),1000);

                         buf 是发送的数据,byte[]类型。        buf.length是数据的长度。

                         InetAddress.getByName("127.0.0.1"), 发送目的地,1000是目的地的端口号。

           3.调用DatagramSocket对象的send(DatagramPacket dp)方法发送数据包

                         ds.send(dp);

           4.调用DatagramSocket对象的close()方法关闭程序占用的系统资源。

                  ds.close();

    

      --数据接收端的Socket编写

          1.创建DatagramSocket对象。接收数据包,并指定接收数据的端口。

                DatagramSocket ds = new   DatagramSocket (10000);

           2.创建DatagramPacket对象封装接收的数据。

                  byte[] buf =new   byte[] ;

                   DatagramPacket  dp = new    DatagramPacket (buf,buf.length())  buf用于存放接收数据的字节数组。buf.length()接收数据的长度。

           3.调用DatagramSocket对象的receive((DatagramPacket dp)方法接收数据。

                     ds.receive((DatagramPacket dp)

           4.使用DatagramPacket对象的方法获取要使用的数据。

                   //获取发送数据者的主机地址

                      String ip = ds.getAddress().gethostAddress();

                  //获取封装在DatagramPacket对象中的数据,并将数据转换为字符串。

                  //String data = new String(dp.getData(),0,dp.getLength())       0是数据的开始位置,dp.getLength()是数据的结束位置。

                 //获取发送者的端口

                   int port = dp.getPort();

           5.关闭资源

               ds.close();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值