java网络

title: java 网络

date: 2017年3月11日11:14:52

**1. 复杂的东西就把他封装成对象
**

概述:(网络就是找到别人

  1. 找到对方的机器,(找到对方的ip地址
  2. 每个机器中有很多进程,找到某一个进程(找到对方的端口);
  3. 找到后的 信息传输规则网络协议TCP/IP

ip地址:(待学习)
127.0.0.1 localhost

网络协议体系

网络协议体系
**TCP/IP体系结构**

应用层协议:http、ftp、。。。。

传输层协议:TCP UDP

网际层协议:IP

javaNet

  1. IP地址的类:InetAddress

  2. 网络协议:TCP UDP

  3. UDP(不可靠):

    • 无连接
    • 速度快
    • 每个数据报的大小在64K内
  4. TCP(可靠):

    • 先建立连接(三次握手)
    • 速度较慢
    • 可传输大量数据
  5. socket(通信机制) :ip + 端口(1. 确定网络上的某一台主机 2. 网络通信就是socket之间的通信)

  6. 网络协议在通信机制下的表现:

    1. UDP:DatagramSocket、DatagramPacket。(分的是发送端和接收端)
    2. TCP:Socket、ServerSocket(分的是客户端和服务端)
  7. java应用http协议对socket的封装:
    URL和URLConnection类

将中文复制进地址栏,字符变了

URLDecoder和URLEncoder

String keyWord = URLDecoder.decode("%E6%9D%8E%E5%88%9A+j2ee", "UTF-8");  
System.out.println(keyWord);  
//将普通字符串转换成  application/x-www-form-urlencoded字符串  
String urlStr = URLEncoder.encode( "ROR敏捷开发最佳指南" , "GBK");  
System.out.println(urlStr);


Socket编程是在利用传输层和网际层的协议
http是在应用层

问题:

  1. udp聊天。(1. 同时作为发送端和客户端 2. 最好加界面)

参考:

  1. http://www.cnblogs.com/oubo/archive/2012/01/16/2394641.html
原文地址:https://www.cnblogs.com/wangbiwei/p/6539948.html