What Is Socket Bind and How to Bind an Address?

In Java, I need to know what is the bind operation:

ServerSocket.bind()

From Javadoc:

Binds the ServerSocket to a specific address (IP address and port number).

I know what is bind and EJB (from example) to a name. Is this similar?

How to bind a local address to a server socket?

I am using:

providerSocket.bind(new InetSocketAddress("192.168.0.1", 0));

And I got Already Bound error!

2 Answers

A connection requires a client and a server.

For a client to send data to the server, the client must have the server's address and port number. Similarly, for the server to send data to the client, the server must have the client's address and port number.

Binding a socket means assigning an address and port number to the socket.

When you do:

providerSocket.bind(new InetSocketAddress("192.168.0.1", 0));

You get Already Bound error because providerSocket already has an address and port number, and assigning a new address / port number is not allowed. Once a ServerSocket is created, it is bound (unless it uses the parameterless constructor java.net.ServerSocket.ServerSocket()).

you have to leave ServerSocket() blank not ServerSocket(666,9) you should not do the second example or else it wont work. Inside the Parenthesis of the ServerSocket you type nothing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Chloe Bennett

Chloe Bennett

Culture, Media & Entertainment Columnist

Chloe Bennett explores the intersection of pop culture, streaming entertainment, digital trends, and contemporary lifestyle. Her weekly commentary reaches thousands of culture enthusiasts.

Share this article
Twitter Facebook Pinterest