Socket/套接字

目录

1. 套接字介绍

2. 套接字API

3. 实例


1. 套接字介绍

套接字是介于传输层(TCP/UDP)和应用层(HTTP/FTP)之间的一个抽象;

在java环境中套接字编程主要使用TCP/IP协议,但是套接字支持的协议族远不止这些;

在java套接字编程中有Socket和ServerSocket两个核心类,ServerSocket位于服务器端监听连接,Socket位于客户端发起连接,服务器端监听到连接后也会产生一个Socket实例来完成与对端Socket的通信,并且服务器端的Socket和客户端的Socket没有任何区别,也就是说进程间通信需要一对套接字完成;

2. 套接字API

Socket和ServerSocket是java提供网络编程的门面接口,实际上都是通过SocketImpl及子类完成的;

java支持TCP和UDP两种协议的套接字编程,本文所有介绍只涉及TCP部分;

2.1 关系图

2.2 类介绍

1. InetAddress

InetAddress是java对IP地址的封装,包括IP设备的名称、ip地址,有Inet4Address和Inet6Address两个子类;

没有公开的构造方法,只能通过公开的静态方法实例化对象;

  方法介绍

  1)getByName(String host):实例化一个InetAddress对象,getByName的参数可以是ip地址字符串,也可以是主机名;

  2)anyLocalAddress():实例化一个表示任何本地地址的网络地址,通常是0.0.0.0;

  3)getHostAddress():一般通过InetAddress的获取主机ip地址串,通过获取主机名;

  4)getHostName() :获取ip地址的主机名;

2. SocketAddress/InetSocketAddress

套接字地址,用来表示一个套接字在网络中的位置;

SocketAddress不依赖任何协议的套接字地址;

InetSocketAddress表示一个IP套接字地址,由套接字地址的 IP地址(InetAddress)、主机名和端口号组成;

3. ServerSocket

服务器套接字,在服务器端用于监听网络传入

  构造方法

  1)ServerSocket():创建一个不绑定任何ip和端口的服务器套接字

创建一个SocksSocketImpl赋值给ServerSocket的SocketImpl,并把自己赋值给SocketImpl的ServerSocket;

  2)ServerSocket(int port, int backlog,InetAddress bindAddr):用指定的端口、连接大小、ip地址创建一个服务器套接字

同无参构造,创建SocksSocketImpl并相互赋值;

根据port和InetAdd

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值