网络编程 ip和端口号
网络编程的目的:直接或间接的通过网络编程协议与其它计算机实现数据交换,进行通讯。
网络编程中有两个主要的问题:1. 如何准确的定位网络上一台或多台主机,定位主机上的特定的应用
2. 找到主机后如何可靠高效的进行数据传输。网络通信协议:TCP/IP参考模型
(应用层,传输层,网络层,物理+数据链路层)
网络通信要素:
2. 网络通信协议
通信双方地址:ip 端口号
规则:OSI参考模型:模型过于理想化,未能在因特网上进行广泛推广
TCP/IP参考模型(或TCLP/IP协议)事实上的国际标准。
-
IP地址:inetAddress类代表IP
唯一的标识Internet上的计算机(通信实体)
ip地址分类方式1:IPV4和IPV6
IP地址分类方式2:公网地址(万维网使用)和私有地址(局部网使用)
-
端口号:标识正在计算机运行的进程(程序)
不同的进程有不同的端口号
被定义为一个16位的整数0-65535
端口分类:公认端口 注册端口 动态私有端口
端口号与ip地址的组合得出一个网络套接字:Socket
package inetAddressTest1;
import java.net.InetAddress;
import java.net.UnknownHostException;
/*
IP
域名:www.baidu.com www.mi.com www.sina.com www.vip.com 可以通过域名的方式访问,不用ip
域名通过DMS域名解析服务器把域名解析出来ip是多少
本地回路地址:127.0.0.1 对应的域名:LocaLhost
两个方法:getByName(String host),getLocalHost()或getHostAddress()获取本机的;
端口号:正在计算机运行的进程
要求:不同的进程有不同的端口号
范围:规定为16位数的整数0-65535
端口号与ip地址的组合得出一个网络套接字:Socket
*/
public class InetAddressTest
{
public static void main(String[] args)
{
InetAddress inetAddress;
{
try {
//类似于File file=new File("hello.txt");
InetAddress inetAddress1 = InetAddress.getByName("192.168.10.14");
InetAddress inetAddress2 = InetAddress.getByName("www.baidu.com");//www.baidu.com/183.232.231.174(前面是域名后面是IP地址)
System.out.println(inetAddress1);
System.out.println(inetAddress2);
InetAddress inetAddress3=InetAddress.getLocalHost();//直接获取本机的ip地址
System.out.println(inetAddress3);
} catch (UnknownHostException e)
{
throw new RuntimeException(e);
}
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)