Java基础——网络编程(Socket编程)

来源:互联网 发布:淘宝图片处理软件 编辑:程序博客网 时间:2024/04/29 08:02

InetAddress 类

提供将主机名解析为其 IP 地址(或反之)的方法。

InetAddress常用方法

在给定主机名的情况下确定主机的 IP 地址public static InetAddress getByName(String host)

返回本地主机public static InetAddress getLocalHost() 

获取当前 IP 地址的主机名 public String getHostName() 

获取当前IP地址的IP地址字符串public String getHostAddress()  


URL类

是WWW统一资源定位器(Uniform Resource Locator)的简写,它规范了WWW资源网络定位地址的表示方法。
protocol://hostname:port/resourcename#anchor
protocol:使用的协议,可以是http,ftp,news,telnet等
hostname:主机名
port:端口号,可选
resourcename:资源名,主机上能访问到的目录或文件
anchor:标记,可选,指定文件中的有特定标记的位置


UDP编程:

DatagramPacket类

构造方法:

  DatagramSocket():  表示创建一个默认的套接字,并绑定到本地地址和一个随机的端口号

  DatagramSocket(int port):  与上面不同的是,绑定到特定端口号,其它不变

  DatagramSocket(int port, InetAddress iad):  表示创建一个套接字,绑定到特定的端口号及指定地址

  DatagramSocket(SocketAddress sad);  表示创建一个套接字,绑定到特定的套接字地址

  小提示:所谓的本地地址我们可以这样来理解,我们通过“控制面板-本地连接-支持”中可以看到一个IP地址,这就是本地的IP地址,也暂且理解为本地地址。

  基本方法:

  close():  关闭套接字

  recevie(DatagramPacket dp):  接受数据报

  send(DatagramPacket dp): 发送数据报



DatagramSocket类

构造方法:(只列出主要的)

  接受类型:

  DatagramPacket(byte[] buf, int length):  用来接受长度为length的buf数据(即数据存于字节数组buf中)

  发送类型:

  DatagramPacket(byte[] buf, int length, InetAddress address, int port);  将length长的buf数据发送到指定的地址的端口号处

  DatagramPacket(byte[] buf, int length, SocketAddress address);   将length长的buf数据发送到指定的套接字地址处

TCP编程:

ServerSocket类

编写TCP网络服务程序,首先要用到java.net.ServerSocket类用以创建服务器Socket

构造方法:

ServerSocket(int port):创建绑定到特定端口的服务器套接字

ServerSocket(int port, int backlog):利用指定的backlog(服务器忙时保持连接请求的等待客户数量),创建服务器套接字并将其绑定到指定的本地端口号。

ServerSocket(int port, int backlog, InetAddress bindAddr):使用指定的端口、侦听 backlog 和要绑定到的本地 IP 地址创建服务器。


Socket类

客户端要与服务器建立连接,必须先创建一个Socket对象

常用构造方法

Socket(String host, int port):创建一个流套接字并将其连接到指定主机上的指定端口号。

Socket(InetAddress address, int port):创建一个流套接字并将其连接到指定 IP 地址的指定端口号。

特别使用的TCP类:

URLConnection类:

  1. 创建URL对象,并通过调用openConnection方法获得URLConnection对象;
  2. 设置URLConnection参数和普通请求属性;
  3. 向远程资源发送请求;
  4. 远程资源变为可用,程序可以访问远程资源的头字段和通过输入流来读取远程资源返回的信息。



HttpURLConnection类:

针对于HTTP协议的TCP便捷类。可以以post,或者get方式提交数据。




附加:

>>这个blog,以后还会加入更多内容的。
>>
>>
>>

0 0
原创粉丝点击