Java网络通信编程学习

Java网络通信编程学习,Socket编程
摘要由CSDN通过智能技术生成

1. 基础网络知识概念

学习网络通信编程学习之前,先要对相关知识概念有一定了解。

IP地址:处于网络上的每一个设备都有一个唯一的标识(地址),这就是IP。

端口(Port):一个设备上可能有多个需要通信的对象(应用程序),为了在一个唯一的IP地址上找到正确的对象,需要给每个对象分配唯一的端口(0-65535,其中0-1013为系统保留)。

IP加端口(组成Socket)就可以正确的在网络上的你需要的对象了。

协议:找到你需要交流的对象后,这时就需要大家语言相通,否则都不知道对方在说啥了,因此需要一个语言标准,方便大家交流,这就是协议,当下用的就是随处可闻的TCP/IP协议了。

TCP/IP协议:

五层模型:

1.网络接口层(链路层):负责接收IP数据包并通过网络发送。

2.网络层(互联层):负责相邻计算机之间的通信,主要IP协议。

3.传输层(主机到主机层):提供应用程序间的通信,主要TCP、UDP协议。

4.应用层:向用户提供常用的应用程序,比如电子邮件、文件传输访问、远程登录等。主要协议有FTP、TELNET、DNS、SMTP、NFS、HTTP。

因为里面包含了很多网络通信协议,因此还叫TCP/IP协议族(栈),用这些协议中最常用的两个协议(均处于传输层)来命名。

TCP:Transmission Control Protocol 传输控制协议。

IP:Internet Protocol 互联网协议。

2. Java的网络通信功能

Java提供了4个常用类,来针对不同的网络通信层次进行处理:

InetAddress:用于标识处理网络上的硬件资源,表示IP地址。

URL:统一资源定位符,通过它可以访问处理网络上的资源数据,由协议名称加资源名称构成,中间冒号隔开。

Socket:使用TCP协议实现网络通信的类。

Datagram:使用UDP协议,将通信内容放在数据报中,进行网络通信。

2.1 InetAddress应用

此类没有构造方法,但是提供了一些静态方法获取实例。

import java.net.*;

public class InetAddressTest{
    public static void main(String[] args) throws UnknownHostException{
        //获取本机的信息
        InetAddress address = InetAddress.getLocalHost();
        //通过主机名或者IP地址获取信息
        //InetAddress address2 = InetAddress.getByName("my-pc");
        InetAddress address2 = InetAddress.getByName("192.168.0.104");
        System.out.println("计算机名:"+address.getHostName());
        System.out.println("IP地址:"+address.getHostAddress());
        System.out.println("address对象:"+address);

     
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值