黑马程序员——java基础——ServerSocket、Socket构造方法解析

来源:互联网 发布:招聘软件排行 编辑:程序博客网 时间:2024/05/16 16:13

------- android培训java培训、期待与您交流! ----------

 

1、  开发TCP程序时,首先需要创建服务器端程序。Java.net包中提供了一个ServerSocket类,该类的实例对象可以实现一个服务器端的程序。下面是构造方法解析:

● ServerSocket( )

使用该构造方法在创建ServerSocket对象时并没有绑定端口号,这样的对象创建的服务器端没有监听任何端口,不能直接使用,还需要继续调用bind(SocketAdress endpoint)方法将其绑定到指定的端口号上才可以使用。

● ServerSocket(intport )

使用该构造方法在创建ServerSocket对象时,就可以将其绑定到一个指定的端口上。端口号可以指定为0,此时系统就会分配给一个还没有被其他网络程序所使用的端口号。由于客户端需要根据指定的端口号来访问服务器端程序,因此端口号随机分配的情况并不常用,通常会让服务器端程序监听一个指定的端口号。

● ServerSocket(intport ,int backlog )

该构造方法就是在第二个构造方法基础上,增加了一个bscklog参数。该参数用于指定在服务器忙时,可以与之保持连接请求的等待客户数量,如果没有指定参数,默认为50。

● ServerSocket(intport ,int backlog,InetAdress bindAddr )

该构造方法就是在第三种构造方法的基础上,还制定了相关的IP地址,这种情况适用于计算机上有多块网卡和多个IP的情况,我们可以明确规定ServerSocket在那块网卡或者IP地址上等待客户的连接请求,显然对于只有一块网卡的情况我们就不用专门指定了。

 

2、  Socket用于实现TCP客户端程序,下面是工资方法解析:

● Socket( )

使用该构造方法在创建Socket对象时,并没有指定IP地址和端口号,也就意味着只创建了客户端对象,并没与去连接任何服务器。通过该构造方法创建对象后,还需要调用connect(SocketAdress endpoint)方法,才能完成与指定服务器端的连接,其中参数endpoint用于封装IP地址和端口号。

● Socket(Stringhost, int port )

使用该构造方法在创建Socket对象时,会根据参数去连接在指定地址和端口上运行的服务器程序,其中参数host接收的是一个字符串类型的IP地址。

● Socket(InetAdressaddress ,int port )

该方法在使用上与第二种构造方法类似,参数address用于接收一个InetAddress类型的对象,该对象用于封装一个IP地址。

 

 

 

0 0