何谓网络编程
Posted ruanjianwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了何谓网络编程相关的知识,希望对你有一定的参考价值。
网络编程
一.IP
1. 定义网络上的不同节点. IPv4:32位 IPV6:128位
非注册IP地址(公司内部使用): 192.168.0.0 ~ 192.168.255.255
2. 特殊的IP:127.0.0.1 本地IP;1ocalhost 本机域名;DNS域名解析器
3. java.net 类 InetAddress 此类表示互联网协议 (IP) 地址。static InetAddress getLocalHost() 返回本地主机。 static InetAddress getByName(String host) 在给定主机名的情况下确定主机的 IP 地址
二.端口
1. 端口: 区分软件的,定义端口 2个字节 0~65535
相同的协议下端口不能冲突
端口自定义越大越好,8000以上,8000以内预留端口号
特殊的端口号:80: http;8080: tomcat;1521: Oracle端口号3306: mysql端口号;INetSocketAddress 此类实现 IP 套接字地址(IP 地址 + 端口号)。
三.URL 1. URL: 统一资源定位符|器
互联网的三大基石: html http url协议:http;域名:www.baidu.com;端口:80 默认80资源:index.html?name=zhangsan&age=123#a;http://www.baidu.com:80/index.html?name=zhangsan&age=123#a
URL URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。
2.常用的几种方法:
String getFile()获取此 URL 的文件名。String getHost()获取此 URL 的主机名(如果适用)。String getPath()获取此 URL 的路径部分。int getPort()获取此 URL 的端口号;String getProtocol()获取此 URL 的协议名称String getQuery()获取此 URL 的查询部分。
String getRef()获取此 URL 的锚点(也称为“引用”).
3.爬虫原理
(1)示例1;
(2)示例2:
四.协议
1. udp协议: 规范 合同
(1)udp :非面向连接的 写信 ,不安全,效率高,协议简单,开销小,大小有限制一般不超过60k
udp如何实现Socket编程: 发送端和接收端是平等的
DatagramSocket 此类表示用来发送和接收数据报包的套接字
DatagramSocket(int port)
DatagramPacket 此类表示数据报包。
UDP基本流程:发送端
创建发送端,指明发送端的端口
准备数据,转为字节数组
把数据打包 指明接收端的地址和端口号 DatagramPacket
发送数据
关闭
示例:
(2)UDP基本流程:接收端
构建接受端,指定接受端端口;准备字节数组,用来存储接口收据的;把字节数组打包;阻塞式接收;处理数据;关闭
示例如下:
2. tcp
(1)tcp:面向连接的 打电话 ,安全,效率低,开销大 3次握手:1.拨号 2.回访:响应 3.发送数据 ,基于IO穿出数据
应用层如何与传输层进行沟通? 通过Socket套接字
面向Socket编程,Socket相当于插座,是两层之间沟通的接口,不同协议,Socket的实现不一样
(2)tcp基本流程:客户端
创建客户端 Socket 指定服务端的ip和端口 Socket(String host, int port);io操作;关闭
示例:
tcp基本流程:服务端
构建服务端 ServerSocket 指定端口 ServerSocket(int port)
阻塞式监听 Socket accept() ;一个客户端就是一个socket IO操作;关闭
示例:
以上是关于何谓网络编程的主要内容,如果未能解决你的问题,请参考以下文章