Solved

How to retrieve client machine name from javascript?

Posted on 2007-11-21
15
14,611 Views
Last Modified: 2010-02-24
I have an ASP.NET application that is located on the server but is accessed from client machines. I need the application to retrieve computer name of the client computer that accesses the application. How can I do that using javascript?

P.S. I've already tried Environment.MachineName and Request.ServerVariables{"HOSTNAME"]. All these will only retrieve either IP Address or Server machine name. I need a client machine name

0
Comment
Question by:YZlat
  • 6
  • 5
  • 2
  • +1
15 Comments
 
LVL 7

Accepted Solution

by:
nisarkhan earned 250 total points
ID: 20329011
>>How to retrieve client machine name from javascript?

you cant... because javascript is not a server_side script
0
 
LVL 35

Author Comment

by:YZlat
ID: 20329267
that's why I need javascript - because I need to retrieve the name of the client machine, the Internet explorer on which opens a web page.

In other words, from a web page opened on computer1 I need to get the name of the computer1. I cannot do that with server-side code, but that's done with client-side code. JavaScript is client-side language
0
 
LVL 33

Expert Comment

by:raterus
ID: 20329344
I believe the only way to truly do this is on the server, first you get the IP, and do a DNS lookup to get the computer name.  This will only work in an intranet where you have a local DNS server with all the computer names.
0
 
LVL 35

Author Comment

by:YZlat
ID: 20330538
thanks raterus. and how do I do that? can you post some code?
0
 
LVL 9

Expert Comment

by:codeclay
ID: 20333457
0
 
LVL 33

Expert Comment

by:raterus
ID: 20349754
I don't have any code to do this off the top of my head, I could google it probably just as easily as you could. ".net DNS lookup"
0
 
LVL 35

Author Comment

by:YZlat
ID: 20350353
I wrote this function to retrieve computer name, but I still need to get at least the IP Address of the client machine in order to pass it to my function. ANd Request.ServerVariables["REMOTE_ADDR"] gives me the IP of the localhost and not client computer

public string ComputerName(string ipaddr)
            {
                  System.Net.IPHostEntry objX;
                  string strHostName="";
 
                  try
                  {
                        //get the host dns entry
                        objX = System.Net.Dns.GetHostByAddress(ipaddr);

                        //get the hostname property
                        strHostName = objX.HostName;
                  }
                  catch (Exception ex)
                  {

                        //something went wrong (possibly no entry)

                  }//end try
                  return strHostName;
            }
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 33

Expert Comment

by:raterus
ID: 20350402
Try this to get the IP address

string ipaddress;
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != "")
{
  ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
else
{
  ipaddress = Request.ServerVariables["REMOTE_ADDR"];
}
0
 
LVL 35

Author Comment

by:YZlat
ID: 20350717
raterus, I get ipaddress=null
0
 
LVL 33

Expert Comment

by:raterus
ID: 20351314
You've got something weird going on in the configuration of your server.  REMOTE_ADDR should work, period, and not be the server's ip.
0
 
LVL 9

Expert Comment

by:codeclay
ID: 20355815
Wait a minute... when did it go server side ? I thought you wanted to do it client side...???
0
 
LVL 35

Author Comment

by:YZlat
ID: 20358129
It's really not important if it's done on client side or server-side, as long as I retrieve the name of the client machine, from which the web page is opened
0
 
LVL 33

Expert Comment

by:raterus
ID: 20373273
Keeping it simple, I think nisarkhan's first comment answered the question.  We were getting into server side scripting which wasn't really the original question.
0
 
LVL 35

Author Comment

by:YZlat
ID: 20373663
I guess you are right
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now