20240310实训

本文详细介绍了Java网络编程的基础,包括网络基础、IP地址、域名、端口号、TCP和UDP协议。讲解了TCP的三次握手和面向连接的特点,以及UDP的无连接、不可靠传输特性。还涵盖了ServerSocket和Socket的使用,以及TCP和UDP网络编程的案例,是学习Java网络编程的良好参考资料。
摘要由CSDN通过智能技术生成

网络编程

网络基础

网络基础

    概念:两台设备之间通过网络实现数据的传输

    网络通信:将数据通过网络从一台设备传送到另一台设备

    java.net包下提供了一系列的类和接口,供开发者使用,完成网络通信

网络

    概念:两台或者多台设备通过一定的物理设备连接起来构成了网络

    根据网络覆盖的范围不同,将网络分为如下的几类:

        1、局域网:覆盖范围最小,仅仅覆盖一个机房或者一个教室

        2、城域网:覆盖范围稍大一些,覆盖一个城市

        3、广域网:覆盖范围最大,可以覆盖全国,甚至全球,万维网是广域网的代表

IP地址

    IP地址概念:主机的唯一标识,相当于人的身份证号

    查看IP地址:ipconfig

    IP地址的表示方法:点分十进制 xx.xx.xx.xx 每一个十进制数的范围:0-255

域名

    概念:将IP地址映射成域名供其他人员或者设备通过域名访问

    好处:为了方便记忆,解决记IP的困难

端口号

    概念:用来标识计算机上的某个特定的网络程序

    表示形式:以整数形式呈现,范围0-65535

    0-1024已经被系统中其他固定程序占用了,例如:ssh--22,ftp--21,smtp--25,http--80

    常见的网络程序端口号:

        1、tomcat:8080

        2、mysql:3306

        3、oracle:1521

        4、sqlserver:1433

网络协议

    应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 (图片来源于其他)

TCP和UDP
TCP

    TCP协议: 传输控制协议

    1、使用TCP协议前,须先建立TCP连接,形成传输数据通道

    2、传输前,采用“三次握手”方式,是可靠的

    3、TCP协议进行通信的两个应用进程: 客户端、服务端

    4、在连接中可进行大数据量的传输

    5、传输完毕,需释放已建立的连接,效率低

UDP

    UDP: 用户数据包协议

    1、将数据、源、目的封装成数据包,不需要建立连接

    2、每个数据报的大小限制在64K

    3、内因无需连接,是不可靠的

    5、发送数据结束时无需释放资源 (因为不是面向连接的),速度快

网络编程API
InetAdress类

    java.net包中有InetAddress类的定义,InetAddress类的对象用于IP地址和域名

    InetAddress类主要表示IP地址,两个子类: Inet4Address、Inet6Address。

    lnetAddress 类没有提供公共的构造器,而是提供了如下几个静态方法来获取lnetAddress 实例:

        1、public static InetAddress getlocalHost()

        2、public static InetAddress getByName(String host)

        3、public static InetAddress getByAddress(byteD addr)

    lnetAddress 提供了如下几个常用的方法

        1、public String getHostAddress0: 返回IP 地址字符串 (以文本表现形式)

        2、public String getHostName0 : 获取此 地址的主机名

        3、public boolean isReachable(int timeout): 测试是否可以达到该地址

案例一

案例二

ServerSocket

ServerSocket简介

    此类是实现服务器套接字。服务器套接字等待请求通过网络进入。它根据该请求执行一些操作,然后可能将结果返回给请求者。

    服务器套接字的实际工作由Socketlmpl该类的实例执行。应用程序可以更改创建套接字实现的套接字工厂,以将其自身配置为创建适合于本地防火墙的套接字。

ServerSocket构造器

启动服务器
</

public Socket accept() throws IOException

1、侦听要连接到此套接字并接受它。 该方法将阻塞直到建立连接。
2、创建一个新的Socket,如果有安全管理器,则使用s.getlnetAddress().getHostAddress()和s.getPort()作为其参数来调用安全管理器的checkAccept方法,以确保允许操作。 这可能会导致SecurityException。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值