Java网络编程

来源:互联网 发布:知其所以然 编辑:程序博客网 时间:2024/06/05 15:58

一、网络基础知识

计算机网络分类:局域网、城域网、广域网,其中Intent是全球最大的广域网。

ISO:国际标准化组织OSI:开发系统互连参考模型。于1987年由ISO提出,该模型将计算机网络划分为七层,分别为物理层、数据链路层、网络层、传输层会话层、表示层、应用层。

通信协议:计算机网络之间进行通信的约定,以确保两个节点之间的信息交换。

TCP/IP协议:是TCP协议和IP协议的统称,将计算机网络划分为四层,分别为链路层、网络层、运输层、应用层。该协议是Intent中最常用的协议。

IP地址:IP地址用于唯一的标识通信实体,如电脑、打印机等。两个通信实体之间通信需要知道两个通信实体之间的IP地址。IP地址是一个32位的二进制数据,分为4组,每一组8位转为0-255之间的十进制数据,如192.168.7.59。

端口号:大部分通信实体都不止一个应用程序,不同的应用程序之间通过端口号来标识,这样接收到的网络数据就可以根据端口号来交给对应的应用程序处理。

端口号分为三类:

公认端口:0-1023,用于绑定一些特定的服务。

注册端口:1024-19151,一般用于绑定应用程序。动态/私有端口:19152-65535,应用程序使用的动态端口,应用程序一般不会主动使用这些端口。


二、Java网络支持

Java提供了java.net包来支持网络通信。

  • InetAddress

该类为IP地址类,没有构造器,可以通过该类的静态方法来获取InetAddress对象: 

<span style="font-size:18px;">InetAddress address; address = InetAddress.getLocalHost();//获取本地的InetAddress实例 address = InetAddress.getByAddress(new byte[]{127, 0, 0, 1});//通过IP地址获取InetAddress实例 address = InetAddress.getByName("LAPTOP-FRJNHQ18");//根据主机名获取InetAddress实例</span>

  • URLDecoder和URLEncoder

这两个类用于普通字符串和MIME类型字符串之间的转换。其中URLDecoder.decode(String s, String enc)方法用于将MIME类型的字符串解码成enc字符集的普通字符串;URLEncoder.encode(String s, String enc)方法用于将普通字符串转换成enc字符集的MIME字符串。

 try {              String mimeStr = URLEncoder.encode(s, "GBK");//将字符串s编码成MIME类型字符串              String commonStr = URLDecoder.decode(mimeStr, "utf-8");//将MIME类型字符串mimeStr解码成普通字符串          } catch (UnsupportedEncodingException e) {              e.printStackTrace();          }








0 0
原创粉丝点击