• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 330
  • Last Modified:

Sockets

why does socket.getLocalAddress() put a slash in front of the adress
ex. /192.168.1.100
0
tricks801
Asked:
tricks801
  • 9
  • 8
  • 2
1 Solution
 
objectsCommented:
cause thats the format toString() uses.

If u don't want it try:

getLocalAddress().getHostName();
or
getLocalAddress().getHostAddress();
0
 
GrandSchtroumpfCommented:
because there is no defined protocol.
0
 
GrandSchtroumpfCommented:
with a defined protcol such as ftp or http, you would get
ftp:/192.168.1.100 or http:/192.168.1.100
so without the protocol, you still keep the "/".
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
objectsCommented:
> because there is no defined protocol.

An IP address doesn't have a protocol does it?
0
 
objectsCommented:
The slash is actual used to seperate hostname and address. But in your case the name is unknown so it is blank.
0
 
GrandSchtroumpfCommented:
note that when you define a protocol and a port,
you use something like this http:/192.168.1.100:80
you can see that the separator is ":"
so, again, if you dont specify neither the protocol nor the port, you just get "/192.168.1.100"
0
 
GrandSchtroumpfCommented:
> An IP address doesn't have a protocol does it?
i agree, but we're not talking about an ip address here, we're talking about an instance of SocketAddress...  and its toString() method as you mentioned before
0
 
objectsCommented:
> note that when you define a protocol and a port,

An IP address does not have a protocol or a port.

> you use something like this http:/192.168.1.100:80

That is not an IP address, 192.168.1.100 is the IP address

0
 
GrandSchtroumpfCommented:
i was just explaining why the toString method leaves the slash.
0
 
objectsCommented:
> but we're not talking about an ip address here

I think we actually are

> we're talking about an instance of SocketAddress

Even if we were the same applies.
0
 
GrandSchtroumpfCommented:
oops, it's not an instance of SocketAddress but an instance of java.net.InetAddress.
SocketAddress is for ServeSocket.
javadoc says about InetAddress:
"This class represents an Internet Protocol (IP) address."
which talks about "Protocol" as well as "(IP) address".
0
 
objectsCommented:
Yes the *Internet* Protocol :) Thats what IP stands for.
0
 
GrandSchtroumpfCommented:
> The slash is actual used to seperate hostname and address. But in your case the name is unknown so it is blank.
ok, that's fine with me.
0
 
GrandSchtroumpfCommented:
i was reading the wrong javadoc page.  :-)
0
 
Tommy BraasCommented:
There are several layers of protocols. The Internet Protocol (as in IP) sits on the lower levels of the protocol stack and handles routing of packets. The TCP part of TCP/IP handles packet ordering, and connections for connection based communication.

An IPv4 address is x.y.z.w, where each x,y,z and w can hold values same as an unsigned byte. A port, however is local "routing" information, dependent on a protocol sitting on top of TCP/IP. You need both to make a connection to another computer over TCP/IP.

http, which is another protocol, but an application layer protocol, sits on top of TCP/IP, but is separate from TCP/IP.
0
 
GrandSchtroumpfCommented:
> http, which is another protocol, but an application layer protocol, sits on top of TCP/IP, but is separate from TCP/IP.
i agree, http has nothing to do with this question.
sorry for all this mess i created.
0
 
Tommy BraasCommented:
No worries mate  ;-)
0
 
objectsCommented:
> sorry for all this mess i created.

sok :)
0
 
objectsCommented:
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 9
  • 8
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now