网络编程
TCP两方需要连接
UDP只管发送不管接收
javaweb:网页编程 B/S
网络编程:TCP/IP C/S
要素
如何实现网络通信?
通信双方地址:
-
ip
-
端口号
-
192.168.16.124:5900
规则:网络通信的协议
TCP/IP参考模型
小结:
-
网络编程中有两个主要问题
-
如何准确定位到网络上的一台或多台主机
-
找到主机后如何进行通信
-
-
网络编程中的要素
-
IP和端口号 IP
-
网络通信协议 UDP TCP
-
IP
ip地址:InetAddress
-
唯一定为一台网络上的计算机
-
127.0.0.1 本机localhost
-
ip地址分类
-
IP地址分类IPV4/IPV6
-
IPV4 127.0.01 4个字节 0~255,42亿 30亿都在北美,亚洲4亿
-
IPV6 fe80::9925:45ef:8556:6511%5 128位,8个无符号整数
-
2001:0bb2:aaaa:0015:0000:0000:1aaa:1312
-
-
-
公网(互联网)-私网(局域网)
-
192.168.xx.xx专门给组织内部使用的
-
ABCD类地址
-
-
-
域名:记忆IP问题
-
IP:www.vip.com
-
package com.yan.lesson01;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class TestInetAddress {
public static void main(String[] args) {
try {
//查询本机地址
InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");
System.out.println(inetAddress1);
InetAddress inetAddress3 = InetAddress.getByName("localhost");
System.out.println(inetAddress3);
InetAddress inetAddress4 = InetAddress.getLocalHost();
System.out.println(inetAddress4);
//查询网站地址
InetAddress inetAddress2 = InetAddress.getByName("www.baidu.com");
System.out.println(inetAddress2);
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
端口
端口表示计算机上程序的进程
-
不同的进程有不同的端口号,用来区分软件
-
端口被规定为0-65535
-
TCP、UDP 65535*2 tcp:80,udp:80单个协议端口号不能冲突
-
端口分类
-
共有端口0-1023
-
HTTP:80
-
HTTPS:443
-
FTP:21
-
TELENT:23
-
-
程序注册端口:1024-49151分配给用户或者程序
-
Tomcat:8080
-
MySQL:3306
-
Oracle:1521
-
-
动态、私有:49152-65535
netstat -ano//查看所有端口
netstat -ano|findstr "5900" //查看指定的端口
tasklist|finder "8696"package com.yan.lesson01;
import java.net.InetSocketAddress;
public class TestInetSocketAddress {
public static void main(String[] args) {
InetSocketAddress socketAddress = new InetSocketAddress("127.0.0.1", 8080);
System.out.println(socketAddress);
InetSocketAddress socketAddress1 = new InetSocketAddress("localhost", 8080);
System.out.println(socketAddress1);
System.out.println(socketAddress.getAddress());
System.out.println(socketAddress.getHostName());//地址
System.out.println(socketAddress.getPort());//返回端口
}
}
-
通信协议
协议:约定
网络通信协议:速率,传输码率,代码结构,传输控制。。。。
TCP/IP协议簇(一组协议):
-
TCP: 用户传输协议
-
UDP:用户数据报协议
出名的协议:
-
TCP:
-
IP:网络互连协议
TCP UDP对比:
tcp:
-
连接,稳定
-
三次握手 四次挥手
-
A:你瞅啥,B:瞅你咋的,A:干一场(建立连接最少需要三次连接)
-
A:我要断开,B:我知道你要断开了,B:你真的断开了吗,A:我真的断开了
-
-
客户端 服务端
-
传输完成 释放连接 效率低
udp:
-
不连接 不稳定
-
客户端 服务端:没有明确的界限
-
不管有没有准备好,都可以发给你
-
导弹攻击
-
DDOS:洪水攻击!(饱和攻击)
880a561ca133 9 月前
75c02a81689b 9 月前