一,网络编程
网络编程在很大程度上是发送和接收信息的功能,中间传输是物理线路。
1.2,目的:
<font color = red>计算机网络:</font> 计算机网络是指在网络操作系统、网络管理软件和网络通信协议的管理和协调下,通过通信线路将不同地理位置上具有独立功能的多台计算机及其外部设备连接起来,实现资源共享和信息传输的计算机系统。 <font color = red>网络编程目的:</font> 数据交流,数据交互。就是通信。
<font color = red>过程:</font> 1,确定一台主机。192.168.16.124:端口,定位到 这个主机上的某个位置资源。 <font color = greed>网页编程和网络编程:</font> JavaWeb是网页编程 B/S 网络编程:C/S 我这里主要针对于传输层,TCP,UDP。
<font color = greed>俩个问题:</font> 1,准确定位到网络上的一台或者多台终端 2,通信 <font color = greed>要素:</font> 1,ip和端口号 2,网络通信协议 这篇文章先记录一下ip和端口的理解与运用。
二,Java万物皆对象
ip地址:inetaddress
2.1,InetAddress类
这个类,没有构造方法,不能直接new对象。只能通过静态方法获得InetAddress的对象。
例子: 目的就是:查询网站ip地址,这里用ctf网站为例。
public class inet {
public static void main(String[] args) throws UnknownHostException, UnknownHostException {
InetAddress InetAddress1=InetAddress.getByName("");
System.out.println(InetAddress1.getAddress());
System.out.println(InetAddress1.getCanonicalHostName());
System.out.println(InetAddress1.getHostAddress());
System.out.println(InetAddress1.getHostName());
}
}
上述代码解释: getCanonicalHostName方法获取规范名。 getHostAddress方法获取ip getHostName方法获取域名 输出样式:
2.2,端口
端口就是计算机上一个程序的进程。 不同的进程使用不同的端口号是为了区分软件。端口号不能冲突。 我们用命令看一下电脑的一些目前使用的端口。 命令是: 查看所有端口命令:
netstat -ano
如下图: 查看指定的端口和查看端口的进程
netstat -ano|finder ""
tasklist|findstr ""
2.3 InetSocketAddress类
1,netSocketAddress类是用来封装端口的。 2,可以理解为在InetAddress基础上加端口。 3,有构造器的。 这个可以new,没问题哈。
依然用imustctf来举例子。
public static void main(String[] args) {
InetSocketAddress SocketAddress= new InetSocketAddress("",8080);
System.out.println(SocketAddress);
System.out.println(SocketAddress.getPort());
InetAddress SocketAddress1=SocketAddress.getAddress();
System.out.println(SocketAddress1.getHostAddress());
System.out.println(SocketAddress.getHostName());
}
上述代码块解释: getPort方法:获得端口号。 用InetAddress类获取到端口ip。 getHostAddress方法:上面说过他的作用 getHostName方法:输出端口名
<font color = greed>输出如下:</font>
/39.103.239.16:8080 8080 39.103.239.16
三,最后
这篇文章先写一下网络编程的基础学习,ip和端口的知识与运用。后续继续深入研究学习。