Subdomain Posts
None | 10 days ago
None | 10 days ago
None | 10 days ago
None | 10 days ago
JavaScript | 21 days ago
JavaScript | 25 days ago
JavaScript | 25 days ago
JavaScript | 25 days ago
None | 25 days ago
None | 33 days ago
Recent Posts
mIRC | 14 sec ago
None | 26 sec ago
None | 36 sec ago
VB.NET | 1 min ago
None | 1 min ago
None | 2 min ago
None | 2 min ago
PHP | 2 min ago
None | 2 min ago
None | 2 min ago
Sitereport
Find cool info about any domain on the internet?
visit sitereport
Free Subdomains
Want a pastebin.com sub-domain for your community?
learn more...
What is pastebin?
Pastebin is a website that hosts all your text & code on dedicated servers for easy sharing.
learn more...
By Anonymous on the 23rd of Aug 2007 03:58:39 PM
Download |
Raw |
Embed |
Report
// Returns the local machine's IP address as a dotted-quad string, by
// sending myself a UDP packet with a unique string. This function
// UDP-broadcasts, otherwise the remote address of a received packet
// is 127.0.0.1.
function findMyIP() {
var sock = new java.net.DatagramSocket();
var sendSock = new java.net.DatagramSocket();
var secret = java.util.UUID.randomUUID().toString();
var place = new java.util.Hashtable(1); // thread-safe
// Receive UDP packet with secret in looping background thread.
spawn(function() {
var sb = new java.lang.StringBuffer();
sb.setLength(secret.length);
while(true) {
var p = new java.net.DatagramPacket(new java.lang.String(sb.toString()).getBytes(), secret.length);
sock.receive(p);
if (new java.lang.String(p.getData()) == secret) {
place.put("ip", p.getAddress().getHostAddress());
break;
}
}
});
// Send packets with secret until receiver thread puts IP into table.
while(true) {
var p = new java.net.DatagramPacket(new java.lang.String(secret).getBytes(),
secret.length,
java.net.InetAddress.getByName("255.255.255.255"),
sock.getLocalPort());
sendSock.send(p);
app.log("Waiting for my IP...");
java.lang.Thread.sleep(500);
var myIP = place.get("ip");
if (myIP != null) {
return myIP;
}
}
}
Submit a correction or amendment below.
Make A New Post