Java编程--网络编程(基础知识)

网络编程(基础知识)

网络编程三要素

A:IP地址:网络中每台计算机的唯一标识

B:端口

C:协议

举例:我想和小林说话,怎么办?

A:我要找到小林

B:对他说话,要对耳朵说(找到计算机了,要找到应用程序)

C:我说什么呢?"Hello"--没学过英语,听不懂。


一.IP地址:网络中计算机的唯一标识。

1.计算机只能识别二进制的数据,所以我们的IP地址应该是一个二进制的数据。

但是我们配置的IP地址却不是二进制的,为什么呢?

2.IP的组成:网络号段+主机号段

3.IP地址的分类:

(1)A类:1.0.0.1--127.255.255.254

第一号段为网络号段+后三段的主机号段:

一个网络号:256*256*256 = 16777216

(2)B类:128.0.0.1--191.255.255.254

前二号段为网络号段+后三段的主机号段:

一个网络号:256*256 = 65536

(3)C类:192.0.0.1--223.255.255.254

前三号段为网络号段+后三段的主机号段:

一个网络号:256

(4)D类:224.0.0.1--239.255.255.254(保留地址)

(5)E类:240.0.0.1--247.255.255.254(保留地址)

4.两个DOS命令:

ipconfig:查看本机IP地址

ping:后面跟IP地址。测试本机与指定的IP地址间的通信是否有问题。

5.特殊的IP地址:

127.0.0.1:回环地址(表示本机)

x.x.x.255:广播地址

x.x.x.0:网络地址


二.端口号:正在运行的程序的标识。

有效端口:0~65535,其中0~1024系统使用或保留端口。

 

三.协议:通信的规则。

(1)UDP:将数据源和目的地封装成数据包。

(2)TCP:建立连接,形成传输的通道。

【举例】UDP:发短信;TCP:打电话。

【例】获取主机名和IP地址。

java.net
类 InetAddress

java.lang.Object

  java.net.InetAddress

所有已实现的接口: 

Serializable 

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

public static InetAddress getByName(String host)在给定主机名的情况下确定主机的 IP 地址。

主机名可以是机器名(如 "java.sun.com"),也可以是其 IP 地址的文本表示形式。

public String getHostAddress()返回 IP 地址字符串(以文本表现形式)。

public String getHostName()获取此 IP 地址的主机名。 

import java.net.InetAddress;
import java.net.UnknownHostException;

/*
 * 	如果一个类没用构造方法:
 * 		A:成员全部是静态的(Math,Arrays,Collection)
 * 		B:单例设计模式(Runtime)
 * 		C:类中有静态方法返回该类的对象(InetAddress)
 * 
 * 		public static InetAddress getByName(String host)
            throws UnknownHostException:在给定主机名的情况下确定主机的 IP 地址。 
 * */
public class InetAddressTest {
	public static void main(String[] args) throws UnknownHostException {
		// public static InetAddress getByName(String host)
		InetAddress address = InetAddress.getByName("192.168.80.1");

		// 获取两个东西:主机名,IP地址
		// String getHostName():获取此 IP 地址的主机名。
		String name = address.getHostName();
		// public String getHostAddress():返回 IP地址字符串(以文本表现形式)。
		String ip = address.getHostAddress();
		System.out.println(name + "---" + ip);
	}
}

运行结果:


import java.io.IOException;
import java.net.InetAddress;

public class Test1 {

	public static void main(String[] args) throws IOException {
		InetAddress address = InetAddress.getLocalHost();
		System.out.println(address); // HASSE/192.168.52.1
		String hostName = address.getHostName();
		String hostAddress = address.getHostAddress();
		System.out.println(hostName); // HASSE
		System.out.println(hostAddress); // 192.168.52.1
	}
}

Socket

1)Socket套接字:网络上具有唯一标识的IP地址和端口号组合在一起才能构成为唯一能识别的标识符套接字。

2)Socket原理机制:通信的两端都有Socket;网络通信其实就是Socket间通信;数据在两个Socket间通过IO传输。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值