Java基础笔记之网络编程

1.  InetAddress

InetAddress没有构造器,有两个静态方法来获取InetAddress实例。

1>    getByName(String   host):根据主机获取对应的InetAddress对象;    //域名

2>    getByAddress(byte[]  addr):根据原始IP地址来获取对应的InetAddress对象。

3>    getLocalHost()方法来获取本机IP地址对应的InetAddress实例。

4>    isReachable() 方法,用于测试是否可以到达地址。

 

InetAddress还提供了三个方法获取InetAddress实例对应的IP地址和主机名。

1>    String  getCannonicalHostName():获取此IP地址的全限定域名。

2>    String  getHostAddress():返回InetAddress实例对应的IP地址字符串。

3>    String  getHostName():获取此IP地址的主机名。


2.  URLDecoder和URLEncoder

URLDecoder类的decode(String   s, String enc)静态方法将乱码字符串转化成普通字符串。

URLEncoder类的encode(String  s, String enc)静态方法将普通字符串转化成 application/x-www-form-urlencoded MIME字符串。


3.  URL (Uniform Resource Locator) 统一资源定位器

组成格式:protocol://host:port/resource     [协议名 主机  端口 资源]

JDK中URL类方法:

String getFile():获取该URL的资源名

String getHost():获取该URL的主机名

String getPath():获取该URL的路径部分

int getPort():获取该URL的端口号

String getProtcol():获取该URL的协议名称

String getQuery():获取该URL的查询字符串部分

URLConnection openConnection():返回一个URLConnection对象,它代表了与URL所引用的远程对象的连接。

InputStream openStream():打开与此URL的连接,并返回一个用于读取该URL资源的InputStream。


4.  基于TCP协议的网络编程

1>    服务器端

使用ServerSocket创建TCP服务器端

ServerSocket类的三个构造器

<1>  ServerSocket(int port):用指定的端口port来创建一个ServerSocket。

<2>  ServerSocket(int port,int backlog):增加一个最大连接数。

<3>  ServerSocket(int port,int backlog, InetAddress localAddr):在机器拥有多个IP地址的情况下,通过localAddr参数来指定将ServerSocket绑定到指定的IP地址。

Socket  accept():如果接收到一个客户端Socket的连接请求,该方法将返回一个与客户端Socket对应的Socket;否则该方法将一直处于等待状态,线程也被堵塞。

2>    客户端

使用Socket创建TCP客户端

Socket类的两个构造器

<1> Socket(InetAddress/String remoteAddress, int port):创建连接到指定远程主机,远程端口的Socket,该构造器没有指定本地地址,本地端口,默认使用本地主机的摩热IP地址,默认使用系统动态分配的端口号。

<2> Socket(InetAddress/String remoteAddress, int port, InetAddresslocalAddr, int localPort):创建连接到指定远程主机,远程端口的Socket,并指定本地地址,本地端口,适用于本地主机有多个IP 地址的情况。

3>    输入流和输出流

Socket提供了两个方法来获取输入流和输出流

<1>  InputStreamgetInputStream():返回该Socket对象对应的输入流,让程序通过该输入流从Socket中取出数据。

<2>  OutputStreamgetOutputStream():返回该Socket对象对应的输出流,让程序通过该输出流向Socket中输出数据。

Java设计的IO体系:不管底层的IO流是怎样的节点流(文件流,网络Socket流等),程序都将其包装成处理流,从而提供更多方便的处理。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值