<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta name="copyright" content="Copyright (c) 2000, 2011 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html. Contributors: IBM Corporation - initial API and implementation" />
<meta name="DC.rights.owner" content="(C) Copyright 2000, 2011" />
<meta content="public" name="security" />
<meta content="index,follow" name="Robots" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta content="task" name="DC.Type" />
<meta name="DC.Title" content="Monitoring server ports" />
<meta name="abstract" content="You can monitor server ports to view data sent and received over the ports of the server. Using the Properties page of a server, you can select from a list of the available types of server ports to monitor. Examples of types of server ports you can monitor are Hypertext Transfer Protocol (HTTP), the administrative port of the server, proxy and many other vendor-specific ports." />
<meta name="description" content="You can monitor server ports to view data sent and received over the ports of the server. Using the Properties page of a server, you can select from a list of the available types of server ports to monitor. Examples of types of server ports you can monitor are Hypertext Transfer Protocol (HTTP), the administrative port of the server, proxy and many other vendor-specific ports." />
<meta content="properties, monitoring server ports, ports, servers, views, monitoring server ports" name="DC.subject" />
<meta content="properties, monitoring server ports, ports, servers, views, monitoring server ports" name="keywords" />
<meta scheme="URI" name="DC.Relation" content="../topics/tdebug.html" />
<meta content="XHTML" name="DC.Format" />
<meta content="tmonitorport_wst" name="DC.Identifier" />
<meta content="en-us" name="DC.Language" />
<link href="../../org.eclipse.wst.doc.user/common.css" type="text/css" rel="stylesheet" />
<title>Monitoring server ports</title>
</head>
<body id="tmonitorport_wst"><a name="tmonitorport_wst"><!-- --></a>


<h1 class="topictitle1">Monitoring server ports</h1>



<div><p>You can monitor server ports to view data sent and
received over the ports of the server. Using the Properties page of a server,
you can select from a list of the available types of server ports to monitor.
Examples of types of server ports you can monitor are Hypertext Transfer Protocol
(HTTP), the administrative port of the server, proxy and many other vendor-specific
ports.</p>

<div class="section" id="tmonitorport_wst__context"><a name="tmonitorport_wst__context"><!-- --></a><div class="p"><strong>Prerequisite:</strong><ul>
<li>Start the server you want to monitor.</li>

</ul>
</div>
To define the ports you want to monitor, complete the following steps:</div>

<a name="tmonitorport_wst__steps"><!-- --></a><ol id="tmonitorport_wst__steps">
<li class="stepexpand"><span>In the Servers view, right-click a server and select <span class="menucascade">
<span class="uicontrol">Properties</span> &gt; <span class="uicontrol">Monitoring</span></span>.</span>
</li>

<li class="stepexpand"><span>To add a port for monitoring the server, complete the following
steps:</span>
<ol type="a">
<li><span>Click the <span class="uicontrol">Add</span> button.</span></li>

<li><span>The <span class="uicontrol">Monitoring Ports</span> dialog box opens
that displays a list of available server ports that you can monitor. In this
list, select the server port that you want to monitor.</span></li>

<li><span>In the <span class="uicontrol">Monitor port</span>, specify a unique
port number on your local machine for monitoring purpose. By default this
field is completed with a number where its value is the assigned port number
with an increment of one. </span></li>

<li><span>In the <span class="uicontrol">Type</span> drop-down list, select the
content type you want to monitor. If you select <span class="uicontrol">All</span>,
you are going to monitor all data sent and received on the server port you
have selected. If there are other options available in this drop-down list,
you can filter the type of data you want to monitor.</span></li>

<li><span>Click <span class="uicontrol">OK</span>.</span></li>

</ol>

</li>

<li class="stepexpand"><span>Use the <span class="uicontrol">Start</span> and <span class="uicontrol">Stop</span> buttons
to manage the server ports.</span> The Monitor Port table lists the available
port monitoring servers. You can add, edit, remove, start or stop the available
port monitoring servers from the Monitor Port table. The <strong>Status</strong> column
shows if the port monitoring server is started or stopped. The <strong>Type</strong> 
column shows the protocol of the server port you are monitoring. The <strong>Server
Port</strong>  column shows the port number the port is running on the server.
The <strong>Monitor Port</strong> column shows the port number you are using monitoring
purpose. The <span class="uicontrol">Content type</span> shows the type of data being
sent and received over the server port.</li>

<li class="stepexpand"><span>Click  <span class="uicontrol">Apply</span> and then  <span class="uicontrol">OK</span> to
save your changes.</span></li>

</ol>

<div class="section" id="tmonitorport_wst__result"><a name="tmonitorport_wst__result"><!-- --></a>When you run the application on the server, the data is
going to display in the <a href="rwtcpvw.html">TCP/IP Monitor view</a>.</div>

</div>

<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="../topics/tdebug.html" title="You can debug applications on a server to detect and diagnose errors in your application. Use the TCP/IP monitor view to view data sent and received over the ports of the server. In addition, use the debugging tools in the workbench to control running your application on the server by setting breakpoints, suspending threads, stepping through the code, and examining the contents of the variables. You can debug the following artifacts on a server without losing the state of your application:">Debugging applications on a server</a></div>
</div>
</div>

</body>
</html>