网络编程概述
网络通信要素概述
一. 网络编程中有两个主要的问题
如何准确地定位网络上一台或多台主机, 定位主机上的特定的应用
找到主机后如何可靠高效的进行数据传输
二. 网络编程中的两个要素
- 对应问题一: IP和端口号
- 提供网络通信协议(TCP/IP参考模型,分成4层,应用层, 传输层, 网络层, 物理+数据链路层)
三. 通信要素1: IP和端口号
- IP: 唯一的标识Internet上的计算机(通信实体)
- 在Java中使用InetAddress类代表IP
- IP分类: IPv4 和 IPv6; 万维网 和局域网
- 域名: www.baidu.com
- 本地回路地址: 127.0.0.1 对应着 localhost
- 如何实例化InetAddress: 两个方法: getByName(String host), getLocalHost()
两个常用方法: getHostName()/getHostAddress() - 端口号: 正在计算机上运行的进程
要求: 不同的进程有不同的端口号
范围: 被规定为一个16位的整数 0~65535 - Socket: 端口号与IP地址的组合得出一个网络套接字
通信要素1: IP和端口号
通信要素2: 网络协议
实现TCP的网络编程
UDP网络通信
URL网络编程
- URL: 统一资源定位符, 对应着互联网的某一资源地址
- 格式: 协议 主机名 端口号 资源地址 参数列表
http://localhost:8080/examples/beauty.jpg?username=Tom