javase知识点 ----22 (网络编程)

1、什么是网络编程:网络编程主要解决计算机与计算机(手机、平板...)之间的数据传输问题。
2、网络编程和网页编程的区别:
   网络编程:不需要基于html页面就可以达到数据之间的传输。比如:飞秋,qq,微信。
   网页编程:就是基于html页面的基础上进行数据的交互。比如:珍爱网、淘宝。 

3、网络通讯的三要素: 1. IP     2. 端口号      3. 协议.

4、IP地址:Internet上的每台主机(Host)都有一个唯一的IP地址。IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用句点隔开。例如159.226.1.1。(四个字节)
   IP地址类别: IP地址=网络号+主机号
    A类地址 = 一个网络号 + 三个主机号     2^24   政府单位
    B类地址 =  两个网络号+ 两个主机号   2^16 事业单位(学校、银行..)
   C类地址= 三个网络号+ 一个主机号  2^8    私人使用..
  
  注意:  127.0.0.1 表示本机回环地址

  InetAddress类:java.net包下,表示互联网协议 (IP) 地址
  常用方法: getLocalHost();  获取本机的IP地址对象
            getByName("IP或者主机名") 根据一个IP地址的字符串形式或者是一个主机名生成一个IP地址对象。 (用于获取别人的IP地址对象)
            getHostAddress()  返回一个IP地址的字符串表示形式。
            getHostName()  返回计算机的主机名


5、端口:一台计算机上可能同时运行多个网络程序,IP地址只能确保把数据送到指定的计算机,但不能保证把这些数据传递给哪个网络程序;通过端口来指定哪个网络程序
         端口使用一个16位的数字来表示,它的范围是0~65535,1024以下的端口号保留给预定义的服务,如:http使用80端口;


6、协议:UDP 将数据极封装为数据包,不需要建立连接。
        每个数据包大小限制在64K中
        因为无连接,所以不可靠
        因为不需要建立连接,所以速度快
        如:留言,发短信等
      
        TCP 面向连接,有特有的通道 在连接中传输大数据量
        通过三次握手机制连接,可靠协议
        通信前必须建立连接,效率稍低
        如:打电话,视频.


7、socket通信原理:参照ppt12
8、udp协议下的Socket
   步骤: 1、建立udp的服务----DatagramSocket
         2、准备数据,然后把数据封装 到数据包中--DatagramPacket
          3、调用udp的服务发送数据---send
          4、关闭资源
   DatagramSocket(udp插座服务)
   DatagramPacket(数据包类)         
   DatagramPacket(buf, length, address, port)         
   buf: 发送的数据内容         
   length : 发送数据内容的大小。         
   address : 发送的目的IP地址对象         
   port : 端口号。

    案例:使用udp与内网通 
    通讯 疑问:知道IP地址与端口是不是就可以给指定的软件发送消息时,软件是不是会处理所有的数据?
    答案:每个网络程序都有自己所处理的特定格式数据,如果接收到的数据不符合指定的格式,那么就会被当成垃圾数据丢弃。
    飞Q接收的数据格式:  version:time :sender : ip: flag:content ;  版本号:时间 :发送人   :IP: 发送的标识符(32): 真正的内容;  

    在udp协议中,有一个IP地址称作为广播地址,广播地址就是主机号为255地址。  
    给广播IP地址发送消息的时候,在同一个网络段的机器都可以接收 到信息。  192.168.15.255

9、Tcp协议下的Socket
   客户端 :Socket(String host, int prot);
   服务器端: ServerSocket(int port);
   获得输入输出流,Socket类中的方法
        getInputStream,获得基于当前Socket的输入流
        getOutputStream,获得基于当前Socket的输出流

   步骤:
   服务器端创建ServerSocket对象,调用accept方法返回Socket对象
   客户端创建Socket对象,通过端口连接到服务器
    客户端、服务器端都使用Socket中的getInputStream方法和getOutputStream方法获得输入流和输出流,进一步进行数据读写操作 。
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值