WEB开发网
开发学院软件开发Java Java网络编程从入门到精通(25):创建ServerSock... 阅读

Java网络编程从入门到精通(25):创建ServerSocket对象

 2009-09-22 00:00:00 来源:WEB开发网   
核心提示: ServerSocketserverSocket=newServerSocket(1234,0,InetAddress.getByName("192.168.18.10"));上面的代码将IP地址绑定到了192.168.18.10上,因此,Java网络编程从入门到精通(25)

ServerSocket serverSocket = new
ServerSocket(1234, 0, InetAddress.getByName("192.168.18.10"));

上面的代码将IP地址绑定到了192.168.18.10上,因此,服务端程序只能使用绑定了这个IP地址的网络接口进行通讯。

四、默认构造方法的使用

除了使用ServerSocket类的构造方法绑定端口外,还可以用ServerSocket的bind方法来完成构造方法所做的工作。要想使用bind 方法,必须得用ServerSocket类的默认构造方法(没有参数的构造方法)来创建ServerSocket对象。bind方法有两个重载形式,它们的定义如下:

public void bind(SocketAddress endpoint) throws IOException
public void bind(SocketAddress endpoint, int backlog) throws IOException

bind方法不仅可以绑定端口,也可以设置请求队列的长度以及绑定IP地址。bind方法的作用是为了在建立ServerSocket对象后设置 ServerSocket类的一些选项。而这些选项必须在绑定端口之前设置,一但绑定了端口后,再设置这些选项将不再起作用。下面的代码演示了bind方法的使用及如何设置ServerSocket类的选项。

ServerSocket serverSocket1 = new ServerSocket();
serverSocket1.setReuseAddress(true);
serverSocket1.bind(new InetSocketAddress(1234));
ServerSocket serverSocket2 = new ServerSocket();
serverSocket2.setReuseAddress(true);
serverSocket2.bind(new InetSocketAddress("192.168.18.10", 1234));
ServerSocket serverSocket3 = new ServerSocket();
serverSocket3.setReuseAddress(true);
serverSocket3.bind(new InetSocketAddress("192.168.18.10", 1234), 30);       

在上面的代码中设置了SO_REUSEADDR 选项(这个选项将在后面的文章中详细讨论)。如果使用下面的代码,这个选项将不起作用。

ServerSocket serverSocket3 = new ServerSocket(1234);
serverSocket3.setReuseAddress(true);

在第6行绑定了IP地址和端口。使用构造方法是无法得到这个组合的(想绑定IP地址,必须得设置backlog参数),因此,bind方法比构造方法更灵活。

上一页  2 3 4 5 6 7 

Tags:Java 网络编程 入门

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接