There are times that you might want to check which service or application is current using port 80 in windows. For me, this morning, I intended to start up grizzly server to test comet streaming server, however, there is an exception thrown.
java.net.BindException: Address already in use: bind: 80=com.sun.grizzly.http.SelectorThreadHandler@15c7850
The exception is quite easily to understand or guess. The port80 is already in use and grizzly simply can’t listen on the 80. Previously I met this problem as well. And when I type “localhost” in the browser address bar, it returns me the IIS default page. So I knew that the problem is IIS.
So I just needs to go to control panel and stop IIS server. However, this time, when I type “localhost” in the browser address bar, it returns me an empty page. Which means that there is indeed some program open my port 80 however, there is no index page to display. If the port 80 is no open and you type “localhost”, the browser should tell you that it is not able to connect to the server. So the next step is to find out which process is taking up my port 80. In ‘cmd’ window, type the following command:
netstat -o -n -a | findstr 0.0:80
So this is what it returns on my computer:
C:\Users\Shanison>netstat -o -n -a | findstr 0.0:80 TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 7108 UDP 0.0.0.0:80 *:* 7108
netstat -o option is to list the PID (process ID), so I know that the process with PID 7108 is listening on port 80. Now, go to task manager and search the process with PID 7108.
From the screen shot, we know that TVU is taking up port 80! TVU is a video streaming software. If you are searching for a free software to watch FIFA 2010 now, which almost comes to an end, you might try this software. From this, we also know that TVU is a P2P software. When you start up the program, it opens port 80 and behaves as a webserver to upload data.