java中的网络通信,多线程与网络编程socket/ServerSocket

本文介绍了Java中的网络通信基础知识,包括IP、协议、DNS和端口的概念。详细讲解了Java对网络的支持,如URL类以及TCP和UDP的区别。重点讨论了TCP的三次握手过程和Socket、ServerSocket在通信中的作用,以及如何实现多线程进行网络编程,实现服务器服务于多个客户端的功能。
摘要由CSDN通过智能技术生成

一、网络通信基本概念

1、IP

​ 在Internet上有千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门的地址,称为IP地址。

  • 32 位数字,四个用点号分隔的数字
  • 包括网络 ID 和主机 ID
  • 网络的类包括 A、B、C、D、E 类
    在这里插入图片描述

InetAddress 的实例包含 IP 地址,还可能包含相应的主机名。

构造方法用于创建实例:
InetAddress getLocalHost()
InetAddress getByName(String host)
InetAddress[] getAllByName(String host)

public static void main(String[] args) throws UnknownHostException {
   
		//当前主机的IP地址和名称
		InetAddress localHost = InetAddress.getLocalHost();
		System.out.println(localHost);
		//确定主机名称的IP地址
		InetAddress name = InetAddress.getByName("127.0.0.1");
		System.out.println(name);
		//返回当前主机的全部IP地址
		InetAddress[] allByName = InetAddress.getAllByName("127.0.0.1");
		for (InetAddress inetAddress : allByName) {
   
			System.out.println(inetAddress);
		}
	}

2、协议

​ 协议是一组在网络上发送信息的规则和约定。这些规则控制在网络设备间交换消息的内容、格式、定时、顺序和错误控制。

3、DNS域名系统

​ ip地址都是数字,太难记。DNS将 IP 地址映射至字符串;映射由域名服务器系统维护

4、端口

​ 有别于设备端口,是用来理解的逻辑概念

​ 用于实现程序间的通信

二、java网络支持

URL

URL指向Internet 上的资源文件
统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址
URL 类提供 API 来访问 Internet 上的信息
URL 的组件
构造方法
URL(String urlname)
URL(String protocol, String hostname, int port, String path)
URL(String protocol, String hostname, String path)
URLConenction openConnection()

public static void main(String[] args) throws IOException {
   
		//创建统一资源定位符
		URL url=new URL("https://www.baidu.com");//http  不加密
		System.out.println(url);
		//获取连接对象
		URLConnection connection = url.openConnection();
		//创建输入流读取
		InputStream in = connection.getInputStream();
		//创建缓冲流读取
		BufferedReader br=new BufferedReader(new InputStreamReader(in));
		String str=null;
		while ((str=b
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值