KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > LocalIP


1
2 import java.net.Socket JavaDoc;
3
4 /**
5  * Copyright (C) 2001 Yasna.com. All rights reserved.
6  *
7  * ===================================================================
8  * The Apache Software License, Version 1.1
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  *
14  * 1. Redistributions of source code must retain the above copyright
15  * notice, this list of conditions and the following disclaimer.
16  *
17  * 2. Redistributions in binary form must reproduce the above copyright
18  * notice, this list of conditions and the following disclaimer in
19  * the documentation and/or other materials provided with the
20  * distribution.
21  *
22  * 3. The end-user documentation included with the redistribution,
23  * if any, must include the following acknowledgment:
24  * "This product includes software developed by
25  * Yasna.com (http://www.yasna.com)."
26  * Alternately, this acknowledgment may appear in the software itself,
27  * if and wherever such third-party acknowledgments normally appear.
28  *
29  * 4. The names "Yazd" and "Yasna.com" must not be used to
30  * endorse or promote products derived from this software without
31  * prior written permission. For written permission, please
32  * contact yazd@yasna.com.
33  *
34  * 5. Products derived from this software may not be called "Yazd",
35  * nor may "Yazd" appear in their name, without prior written
36  * permission of Yasna.com.
37  *
38  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
39  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
40  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
41  * DISCLAIMED. IN NO EVENT SHALL YASNA.COM OR
42  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
43  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
44  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
45  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
46  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
47  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
48  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
49  * SUCH DAMAGE.
50  * ====================================================================
51  *
52  * This software consists of voluntary contributions made by many
53  * individuals on behalf of Yasna.com. For more information
54  * on Yasna.com, please see <http://www.yasna.com>.
55  */

56
57 /**
58  * This applet is used to get the local ip address of the machine.
59  *
60  */

61 public class LocalIP extends java.applet.Applet JavaDoc {
62     private String JavaDoc localIP="unknown";
63     public void init(){
64             String JavaDoc serverAddress = getDocumentBase().getHost();
65             int portNumber = getDocumentBase().getPort();
66             // We will assume that they are using HTTP portocol.
67
if (portNumber < 0) portNumber=80; // defualt it to 80.
68
if (serverAddress !=null){
69                 try{
70                     // Please note that we do a socket call to ensure that we get the correct IP address of the machine.
71
// This will ensure that we get the IP address that is used to get this document.
72
// Keep in mind that there can be many IP address on a single machine.
73
localIP=(new Socket JavaDoc(serverAddress,portNumber)).getLocalAddress().getHostAddress();
74                 } catch (Exception JavaDoc e){
75                     localIP="error";
76                 }
77             }
78
79     }
80     public String JavaDoc getLocalIP() {
81         return localIP;
82     }
83 }
84
Popular Tags