网络编程3

网络编程基础概念

网络编程即使用套接字来达到进程间通信,现在一般称为TCP/IP编程。

计算机网络三高问题: 高并发,高性能,高可用
(Local Area Network;LAN) 通常我们常见的“LAN”就是指局域网,这是我们最常见、应用最广的一种网络

参考模型
在这里插入图片描述

IP协议

在这里插入图片描述

1、每个人的电脑都有一个独一无二的IP地址,这样互相通信时就不会传错信息了。
2、IP地址是用一个点来分成四段的,在计算机内部IP地址是用四个字节来表示的,一个字节代表一段,
每一个字节代表的数最大只能到达255

在这里插入图片描述

InetAddress类(表示互联网协议IP地址)

无构造方法

常用方法摘要
byte[] getAddress()
返回此 InetAddress 对象的原始 IP 地址。
static InetAddress getByName(String host)
在给定主机名的情况下确定主机的 IP 地址。
String getHostAddress()
返回 IP 地址字符串(以文本表现形式)。
String getHostName()
获取此 IP 地址的主机名。
static InetAddress getLocalHost()
返回本地主机。

获取本地ip
InetAddress inet4 = InetAddress.getLocalHost();
System.out.println("local\t" + inet4);      //local	张建琳/192.168.5.8

//获取此 IP地址的  主机名
System.out.println(inet4.getHostName());       //张建琳
//返回本地主机  IP地址
System.out.println(inet4.getHostAddress());     //192.168.5.8

127.0.0.1:本机地址,主要用于测试。别名:Localhost

端口

IP地址用来标识一台计算机,但是一台计算机上可能提供多种网络应用程序,如何来区分这些不同的程序呢?这就要用到端口。
端口是虚拟的概念,并不是说在主机上真的有若干个端口。
通过端口,可以在一个主机上运行多个网络应用程序。端口的表示是一个16位的二进制整数,2个字节,对应十进制的0~65535

MySQL(3306),Oracle(1521),Tomcat(8080)等等程序都有自己的端口

查看端口

  • 用命令提示符cmd查看所有端口:netstat -ano
  • 查看具体程序:使用任务管理器查看PID

InetSocketAddress(此类实现IP套接字地址:IP地址 + 端口号)

构造方法
InetSocketAddress(InetAddress addr, int port)
根据 IP 地址和端口号创建套接字地址。
InetSocketAddress(int port)
创建套接字地址,其中 IP 地址为通配符地址,端口号为指定值。
InetSocketAddress(String hostname, int port)
根据主机名和端口号创建套接字地址。

常用方法
InetAddress getAddress()
获取 InetAddress。
String getHostName()
获取 hostname。
int getPort()
获取端口号。

示例

在这里插入代码片

UDP发送端
1、建立UDP的socket对象
2、将要发送的数据封装成数据包
3、通过UDP的socket对象,将数据包发送出去
4、释放资源

UDP接收数据
1、创建接收端的UDPSocket对象
2、创建用于接收的数据报包
3、使用receive()方法,此方法在接收到数据之前一直阻塞(注:接收在receivePacket中 )
4、解析数据报包

V3模拟聊天的程序
抽取发送数据的方法sentData()
接收 接收端发送的数据

代码熟练度,通过一直写来熟悉

URL

网络三大基石:HTML,HTTP,URL

TCP和UDP(计算机专业课考研复习)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lacrimosa&L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值