java socket.bind
时间: 2023-10-19 20:07:45 浏览: 43
在Java中,Socket.bind()方法用于将Socket对象绑定到特定的本地地址和端口号。这个方法通常在创建Socket对象之后立即调用。
Socket.bind()方法有多个重载形式,其中最常用的形式是:
```java
public void bind(SocketAddress localAddr) throws IOException
```
其中,localAddr参数是一个SocketAddress对象,表示要绑定的本地地址和端口号。SocketAddress类是一个抽象类,它有两个常用的子类:InetSocketAddress和UnixDomainSocketAddress。InetSocketAddress用于表示IP地址和端口号,UnixDomainSocketAddress用于表示Unix域套接字地址。
下面是一个Socket.bind()方法的示例:
```java
import java.net.*;
public class BindSocketExample {
public static void main(String[] args) throws Exception {
InetAddress addr = InetAddress.getByName("localhost");
int port = 1234;
SocketAddress socketAddr = new InetSocketAddress(addr, port);
ServerSocket serverSocket = new ServerSocket();
serverSocket.bind(socketAddr);
System.out.println("Server socket bound to " + addr.getHostAddress() + ":" + port);
}
}
```
在这个示例中,我们首先使用InetAddress.getByName()方法获取本地主机的IP地址,然后创建一个InetSocketAddress对象,表示要绑定的本地地址和端口号。接下来,我们创建一个ServerSocket对象,然后调用其bind()方法将其绑定到指定的本地地址和端口号。最后,我们输出绑定的地址和端口号。
需要注意的是,如果指定的本地地址和端口号已经被其他进程占用,那么Socket.bind()方法会抛出一个IOException异常。