javaSE 笔记 网络编程
2021/9/4 14:07:02
本文主要是介绍javaSE 笔记 网络编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
网络编程概述
实现网络互连的不同计算机上运行的程序间可以进行数据交换
网络编程三要素
简单来说就是IP地址,用来识别设备的,端口,用来识别应用程序的,协议,用来遵守"交通规则"的
IP地址
IPv4:是给每个连接在网络上的主机分配一个32bit地址,要是用二进制表示,就是4个字节,不过一般用10进制来记,比如192.168.1.66
IPv6:采用128位地址长度,16个位一组,8组十六进制数
常用命令:
ipconfig:查看本机IP地址
ping IP地址:检查网络是否连通
特殊IP地址:127.0.0.1:回送地址,可以代表本机地址,一般用来测试使用
InetAddress类
为了方便我们对IP地址的获取和操作,JAVA提供了一个InetAddress类 供我们使用
这个类没有构造方法,同时他里面的各种方法也不全是静态方法,但是他提供一种静态方法来获取该类的对象
主要的方法有:1.staticInetAddress getByName(String host) 确定主机名称的IP地址,主机名称可以使机器名称,也可以是IP地址
2.String getHostName() 获取此IP地址的主机名
3.String getHostAdress() 返回文本显示中的IP地址字符串
端口
端口号:用两个字节表示的整数,它的取值是0-65535,其中,0-1023之间的端口号用于一些知名的网络服务和应用,普通的应用程序需要
使用1024以上的端口号。如果端口号被另外一个服务或应用所占用,会导致当前程序启动失败。
协议
UDP协议:无连接通信协议,即在数据传输时,数据发送端和接收端不建立链接。适合传输不重要的信息。
TCP协议:TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间
可靠无差错的数据传输。适合重要信息的传输
UDP发送数据
java提供了一个类 DatagramSocket 用于发送和接收数据报数据包的套接字,发送对象可以用DatagramPacket创建,构造方式如下
DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port)
构造一个数据报包,用于将长度为 length且偏移量为 ioffset的数据包发送到指定主机上的指定端口号。
UDP接收数据
TCP发送数据
java使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信,java为客户端提供了Socket类,为服务器端提供了ServerSocket类
因为TCP通讯是需要三次握手的,所以只有发送数据是不行的,还得创建接受数据
TCP接收数据
TCP例子
有个shutdown的方法可以替代自定义结束标记,没有结束标记的话,服务端会一直在等待客户端传数据。这么看起来不知道while((line=br.readLine())!=null)到底在限制什么。
另外TCP的服务端相比于客户端,多了一个监听的功能,用accept()方法获取,返回的也是一个Socket对象。
这篇关于javaSE 笔记 网络编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南