Java网络编程从入门到精通(25):创建ServerSocket对象
2009-09-22 00:00:00 来源:WEB开发网ServerSocket类的构造方法有四种重载形式,它们的定义如下:
public ServerSocket() throws IOException
public ServerSocket(int port) throws IOException
public ServerSocket(int port, int backlog) throws IOException
public ServerSocket(int port, int backlog, InetAddress bindAddr) throws IOException
在上面的构造方法中涉及到了三个参数:port、backlog和bindAddr。其中port是ServerSocket对象要绑定的端口,backlog是请求队列的长度,bindAddr是ServerSocket对象要绑定的IP地址。
一、通过构造方法绑定端口
通过构造方法绑定端口是创建ServerSocket对象最常用的方式。可以通过如下的构造方法来绑定端口:
public ServerSocket(int port) throws IOException
如果port参数所指定的端口已经被绑定,构造方法就会抛出IOException异常。但实际上抛出的异常是BindException。从图 4.2的异常类继承关系图可以看出,所有和网络有关的异常都是IOException类的子类。因此,为了ServerSocket构造方法还可以抛出其他的异常,就使用了IOException。
如果port的值为0,系统就会随机选取一个端口号。但随机选取的端口意义不大,因为客户端在连接服务器时需要明确知道服务端程序的端口号。可以通过ServerSocket的toString方法输出和ServerSocket对象相关的信息。下面的代码输入了和ServerSocket对象相关的信息。
ServerSocket serverSocket = new ServerSocket(1320);
System.out.println(serverSocket);
运行结果:
ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=1320]
赞助商链接