Modified:
websites/production/commons/content/proper/commons-net/xref/org/apache/commons/net/SocketClient.html
==============================================================================
---
websites/production/commons/content/proper/commons-net/xref/org/apache/commons/net/SocketClient.html
(original)
+++
websites/production/commons/content/proper/commons-net/xref/org/apache/commons/net/SocketClient.html
Mon Jun 10 18:52:55 2024
@@ -327,482 +327,485 @@
<a class="jxr_linenumber" name="L319" href="#L319">319</a> <em
class="jxr_javadoccomment"> * Disconnects the socket connection. You should
call this method after you've finished using the class instance and also before
you call {@link #connect</em>
<a class="jxr_linenumber" name="L320" href="#L320">320</a> <em
class="jxr_javadoccomment"> * connect() } again. _isConnected_ is set to
false, _socket_ is set to null, _input_ is set to null, and _output_ is set to
null.</em>
<a class="jxr_linenumber" name="L321" href="#L321">321</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L322" href="#L322">322</a> <em
class="jxr_javadoccomment"> * @throws IOException If there is an error
closing the socket.</em>
+<a class="jxr_linenumber" name="L322" href="#L322">322</a> <em
class="jxr_javadoccomment"> * @throws IOException not thrown, subclasses
may throw.</em>
<a class="jxr_linenumber" name="L323" href="#L323">323</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L324" href="#L324">324</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
disconnect() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L325" href="#L325">325</a>
closeQuietly(_socket_);
-<a class="jxr_linenumber" name="L326" href="#L326">326</a>
closeQuietly(_input_);
-<a class="jxr_linenumber" name="L327" href="#L327">327</a>
closeQuietly(_output_);
-<a class="jxr_linenumber" name="L328" href="#L328">328</a> _socket_ =
<strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L329" href="#L329">329</a> _hostname_
= <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L330" href="#L330">330</a> _input_ =
<strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L331" href="#L331">331</a> _output_ =
<strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L332" href="#L332">332</a> }
-<a class="jxr_linenumber" name="L333" href="#L333">333</a>
-<a class="jxr_linenumber" name="L334" href="#L334">334</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L335" href="#L335">335</a> <em
class="jxr_javadoccomment"> * If there are any listeners, send them the
command details.</em>
-<a class="jxr_linenumber" name="L336" href="#L336">336</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L337" href="#L337">337</a> <em
class="jxr_javadoccomment"> * @param command the command name</em>
-<a class="jxr_linenumber" name="L338" href="#L338">338</a> <em
class="jxr_javadoccomment"> * @param message the complete message,
including command name</em>
-<a class="jxr_linenumber" name="L339" href="#L339">339</a> <em
class="jxr_javadoccomment"> * @since 3.0</em>
-<a class="jxr_linenumber" name="L340" href="#L340">340</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L341" href="#L341">341</a> <strong
class="jxr_keyword">protected</strong> <strong
class="jxr_keyword">void</strong> fireCommandSent(<strong
class="jxr_keyword">final</strong> String command, <strong
class="jxr_keyword">final</strong> String message) {
-<a class="jxr_linenumber" name="L342" href="#L342">342</a> <strong
class="jxr_keyword">if</strong> (getCommandSupport().getListenerCount() > 0)
{
-<a class="jxr_linenumber" name="L343" href="#L343">343</a>
getCommandSupport().fireCommandSent(command, message);
-<a class="jxr_linenumber" name="L344" href="#L344">344</a> }
-<a class="jxr_linenumber" name="L345" href="#L345">345</a> }
-<a class="jxr_linenumber" name="L346" href="#L346">346</a>
-<a class="jxr_linenumber" name="L347" href="#L347">347</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L348" href="#L348">348</a> <em
class="jxr_javadoccomment"> * If there are any listeners, send them the
reply details.</em>
-<a class="jxr_linenumber" name="L349" href="#L349">349</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L350" href="#L350">350</a> <em
class="jxr_javadoccomment"> * @param replyCode the code extracted from the
reply</em>
-<a class="jxr_linenumber" name="L351" href="#L351">351</a> <em
class="jxr_javadoccomment"> * @param reply the full reply text</em>
-<a class="jxr_linenumber" name="L352" href="#L352">352</a> <em
class="jxr_javadoccomment"> * @since 3.0</em>
-<a class="jxr_linenumber" name="L353" href="#L353">353</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L354" href="#L354">354</a> <strong
class="jxr_keyword">protected</strong> <strong
class="jxr_keyword">void</strong> fireReplyReceived(<strong
class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>
replyCode, <strong class="jxr_keyword">final</strong> String reply) {
-<a class="jxr_linenumber" name="L355" href="#L355">355</a> <strong
class="jxr_keyword">if</strong> (getCommandSupport().getListenerCount() > 0)
{
-<a class="jxr_linenumber" name="L356" href="#L356">356</a>
getCommandSupport().fireReplyReceived(replyCode, reply);
-<a class="jxr_linenumber" name="L357" href="#L357">357</a> }
-<a class="jxr_linenumber" name="L358" href="#L358">358</a> }
-<a class="jxr_linenumber" name="L359" href="#L359">359</a>
-<a class="jxr_linenumber" name="L360" href="#L360">360</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L361" href="#L361">361</a> <em
class="jxr_javadoccomment"> * Gets the charset.</em>
-<a class="jxr_linenumber" name="L362" href="#L362">362</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L363" href="#L363">363</a> <em
class="jxr_javadoccomment"> * @return the charset.</em>
-<a class="jxr_linenumber" name="L364" href="#L364">364</a> <em
class="jxr_javadoccomment"> * @since 3.3</em>
-<a class="jxr_linenumber" name="L365" href="#L365">365</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L366" href="#L366">366</a> <strong
class="jxr_keyword">public</strong> Charset getCharset() {
-<a class="jxr_linenumber" name="L367" href="#L367">367</a> <strong
class="jxr_keyword">return</strong> charset;
-<a class="jxr_linenumber" name="L368" href="#L368">368</a> }
-<a class="jxr_linenumber" name="L369" href="#L369">369</a>
-<a class="jxr_linenumber" name="L370" href="#L370">370</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L371" href="#L371">371</a> <em
class="jxr_javadoccomment"> * Gets the charset name.</em>
-<a class="jxr_linenumber" name="L372" href="#L372">372</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L373" href="#L373">373</a> <em
class="jxr_javadoccomment"> * @return the charset.</em>
-<a class="jxr_linenumber" name="L374" href="#L374">374</a> <em
class="jxr_javadoccomment"> * @since 3.3</em>
-<a class="jxr_linenumber" name="L375" href="#L375">375</a> <em
class="jxr_javadoccomment"> * @deprecated Since the code now requires Java
1.6 as a minimum</em>
-<a class="jxr_linenumber" name="L376" href="#L376">376</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L377" href="#L377">377</a> @Deprecated
-<a class="jxr_linenumber" name="L378" href="#L378">378</a> <strong
class="jxr_keyword">public</strong> String getCharsetName() {
-<a class="jxr_linenumber" name="L379" href="#L379">379</a> <strong
class="jxr_keyword">return</strong> charset.name();
-<a class="jxr_linenumber" name="L380" href="#L380">380</a> }
-<a class="jxr_linenumber" name="L381" href="#L381">381</a>
-<a class="jxr_linenumber" name="L382" href="#L382">382</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L383" href="#L383">383</a> <em
class="jxr_javadoccomment"> * Subclasses can override this if they need to
provide their own instance field for backwards compatibility.</em>
-<a class="jxr_linenumber" name="L384" href="#L384">384</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L385" href="#L385">385</a> <em
class="jxr_javadoccomment"> * @return the CommandSupport instance, may be
{@code null}</em>
-<a class="jxr_linenumber" name="L386" href="#L386">386</a> <em
class="jxr_javadoccomment"> * @since 3.0</em>
-<a class="jxr_linenumber" name="L387" href="#L387">387</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L388" href="#L388">388</a> <strong
class="jxr_keyword">protected</strong> <a name="ProtocolCommandSupport"
href="../../../../org/apache/commons/net/ProtocolCommandSupport.html#ProtocolCommandSupport">ProtocolCommandSupport</a>
getCommandSupport() {
-<a class="jxr_linenumber" name="L389" href="#L389">389</a> <strong
class="jxr_keyword">return</strong> commandSupport;
-<a class="jxr_linenumber" name="L390" href="#L390">390</a> }
-<a class="jxr_linenumber" name="L391" href="#L391">391</a>
-<a class="jxr_linenumber" name="L392" href="#L392">392</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L393" href="#L393">393</a> <em
class="jxr_javadoccomment"> * Gets the underlying socket connection
timeout.</em>
-<a class="jxr_linenumber" name="L394" href="#L394">394</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L395" href="#L395">395</a> <em
class="jxr_javadoccomment"> * @return timeout (in ms)</em>
-<a class="jxr_linenumber" name="L396" href="#L396">396</a> <em
class="jxr_javadoccomment"> * @since 2.0</em>
-<a class="jxr_linenumber" name="L397" href="#L397">397</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L398" href="#L398">398</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getConnectTimeout() {
-<a class="jxr_linenumber" name="L399" href="#L399">399</a> <strong
class="jxr_keyword">return</strong> connectTimeout;
-<a class="jxr_linenumber" name="L400" href="#L400">400</a> }
-<a class="jxr_linenumber" name="L401" href="#L401">401</a>
-<a class="jxr_linenumber" name="L402" href="#L402">402</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L403" href="#L403">403</a> <em
class="jxr_javadoccomment"> * Returns the current value of the default port
(stored in {@link #_defaultPort_ _defaultPort_ }).</em>
-<a class="jxr_linenumber" name="L404" href="#L404">404</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L405" href="#L405">405</a> <em
class="jxr_javadoccomment"> * @return The current value of the default
port.</em>
-<a class="jxr_linenumber" name="L406" href="#L406">406</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L407" href="#L407">407</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getDefaultPort() {
-<a class="jxr_linenumber" name="L408" href="#L408">408</a> <strong
class="jxr_keyword">return</strong> _defaultPort_;
-<a class="jxr_linenumber" name="L409" href="#L409">409</a> }
-<a class="jxr_linenumber" name="L410" href="#L410">410</a>
-<a class="jxr_linenumber" name="L411" href="#L411">411</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L412" href="#L412">412</a> <em
class="jxr_javadoccomment"> * Returns the default timeout in milliseconds
that is used when opening a socket.</em>
-<a class="jxr_linenumber" name="L413" href="#L413">413</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L414" href="#L414">414</a> <em
class="jxr_javadoccomment"> * @return The default timeout in milliseconds
that is used when opening a socket.</em>
-<a class="jxr_linenumber" name="L415" href="#L415">415</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L416" href="#L416">416</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getDefaultTimeout() {
-<a class="jxr_linenumber" name="L417" href="#L417">417</a> <strong
class="jxr_keyword">return</strong> _timeout_;
-<a class="jxr_linenumber" name="L418" href="#L418">418</a> }
-<a class="jxr_linenumber" name="L419" href="#L419">419</a>
-<a class="jxr_linenumber" name="L420" href="#L420">420</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L421" href="#L421">421</a> <em
class="jxr_javadoccomment"> * Returns the current value of the SO_KEEPALIVE
flag on the currently opened socket. Delegates to {@link
Socket#getKeepAlive()}</em>
-<a class="jxr_linenumber" name="L422" href="#L422">422</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L423" href="#L423">423</a> <em
class="jxr_javadoccomment"> * @return True if SO_KEEPALIVE is enabled.</em>
-<a class="jxr_linenumber" name="L424" href="#L424">424</a> <em
class="jxr_javadoccomment"> * @throws SocketException if there is a
problem with the socket</em>
-<a class="jxr_linenumber" name="L425" href="#L425">425</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
-<a class="jxr_linenumber" name="L426" href="#L426">426</a> <em
class="jxr_javadoccomment"> * @since 2.2</em>
-<a class="jxr_linenumber" name="L427" href="#L427">427</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L428" href="#L428">428</a> <strong
class="jxr_keyword">public</strong> <strong
class="jxr_keyword">boolean</strong> getKeepAlive() <strong
class="jxr_keyword">throws</strong> SocketException {
-<a class="jxr_linenumber" name="L429" href="#L429">429</a> <strong
class="jxr_keyword">return</strong> _socket_.getKeepAlive();
-<a class="jxr_linenumber" name="L430" href="#L430">430</a> }
-<a class="jxr_linenumber" name="L431" href="#L431">431</a>
-<a class="jxr_linenumber" name="L432" href="#L432">432</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L433" href="#L433">433</a> <em
class="jxr_javadoccomment"> * Returns the local address to which the
client's socket is bound. Delegates to {@link Socket#getLocalAddress()}</em>
-<a class="jxr_linenumber" name="L434" href="#L434">434</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L435" href="#L435">435</a> <em
class="jxr_javadoccomment"> * @return The local address to which the
client's socket is bound.</em>
-<a class="jxr_linenumber" name="L436" href="#L436">436</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
-<a class="jxr_linenumber" name="L437" href="#L437">437</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L438" href="#L438">438</a> <strong
class="jxr_keyword">public</strong> InetAddress getLocalAddress() {
-<a class="jxr_linenumber" name="L439" href="#L439">439</a> <strong
class="jxr_keyword">return</strong> _socket_.getLocalAddress();
-<a class="jxr_linenumber" name="L440" href="#L440">440</a> }
-<a class="jxr_linenumber" name="L441" href="#L441">441</a>
-<a class="jxr_linenumber" name="L442" href="#L442">442</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L443" href="#L443">443</a> <em
class="jxr_javadoccomment"> * Returns the port number of the open socket on
the local host used for the connection. Delegates to {@link
Socket#getLocalPort()}</em>
-<a class="jxr_linenumber" name="L444" href="#L444">444</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L445" href="#L445">445</a> <em
class="jxr_javadoccomment"> * @return The port number of the open socket on
the local host used for the connection.</em>
-<a class="jxr_linenumber" name="L446" href="#L446">446</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
-<a class="jxr_linenumber" name="L447" href="#L447">447</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L448" href="#L448">448</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getLocalPort() {
-<a class="jxr_linenumber" name="L449" href="#L449">449</a> <strong
class="jxr_keyword">return</strong> _socket_.getLocalPort();
-<a class="jxr_linenumber" name="L450" href="#L450">450</a> }
-<a class="jxr_linenumber" name="L451" href="#L451">451</a>
-<a class="jxr_linenumber" name="L452" href="#L452">452</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L453" href="#L453">453</a> <em
class="jxr_javadoccomment"> * Gets the proxy for use with all the
connections.</em>
-<a class="jxr_linenumber" name="L454" href="#L454">454</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L455" href="#L455">455</a> <em
class="jxr_javadoccomment"> * @return the current proxy for
connections.</em>
-<a class="jxr_linenumber" name="L456" href="#L456">456</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L457" href="#L457">457</a> <strong
class="jxr_keyword">public</strong> Proxy getProxy() {
-<a class="jxr_linenumber" name="L458" href="#L458">458</a> <strong
class="jxr_keyword">return</strong> connProxy;
-<a class="jxr_linenumber" name="L459" href="#L459">459</a> }
-<a class="jxr_linenumber" name="L460" href="#L460">460</a>
-<a class="jxr_linenumber" name="L461" href="#L461">461</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L462" href="#L462">462</a> <em
class="jxr_javadoccomment"> * Gets the current receivedBuffer size</em>
-<a class="jxr_linenumber" name="L463" href="#L463">463</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L464" href="#L464">464</a> <em
class="jxr_javadoccomment"> * @return the size, or -1 if not
initialized</em>
-<a class="jxr_linenumber" name="L465" href="#L465">465</a> <em
class="jxr_javadoccomment"> * @since 3.0</em>
-<a class="jxr_linenumber" name="L466" href="#L466">466</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L467" href="#L467">467</a> <strong
class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong>
getReceiveBufferSize() {
-<a class="jxr_linenumber" name="L468" href="#L468">468</a> <strong
class="jxr_keyword">return</strong> receiveBufferSize;
-<a class="jxr_linenumber" name="L469" href="#L469">469</a> }
-<a class="jxr_linenumber" name="L470" href="#L470">470</a>
-<a class="jxr_linenumber" name="L471" href="#L471">471</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L472" href="#L472">472</a> <em
class="jxr_javadoccomment"> * @return The remote address to which the
client is connected. Delegates to {@link Socket#getInetAddress()}</em>
-<a class="jxr_linenumber" name="L473" href="#L473">473</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
-<a class="jxr_linenumber" name="L474" href="#L474">474</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L475" href="#L475">475</a> <strong
class="jxr_keyword">public</strong> InetAddress getRemoteAddress() {
-<a class="jxr_linenumber" name="L476" href="#L476">476</a> <strong
class="jxr_keyword">return</strong> _socket_.getInetAddress();
-<a class="jxr_linenumber" name="L477" href="#L477">477</a> }
-<a class="jxr_linenumber" name="L478" href="#L478">478</a>
-<a class="jxr_linenumber" name="L479" href="#L479">479</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L480" href="#L480">480</a> <em
class="jxr_javadoccomment"> * Gets the remote socket address used for the
connection.</em>
-<a class="jxr_linenumber" name="L481" href="#L481">481</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L482" href="#L482">482</a> <em
class="jxr_javadoccomment"> * @return the remote socket address used for
the connection</em>
-<a class="jxr_linenumber" name="L483" href="#L483">483</a> <em
class="jxr_javadoccomment"> * @since 3.10.0</em>
-<a class="jxr_linenumber" name="L484" href="#L484">484</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L485" href="#L485">485</a> <strong
class="jxr_keyword">protected</strong> InetSocketAddress
getRemoteInetSocketAddress() {
-<a class="jxr_linenumber" name="L486" href="#L486">486</a> <strong
class="jxr_keyword">return</strong> remoteInetSocketAddress;
-<a class="jxr_linenumber" name="L487" href="#L487">487</a> }
-<a class="jxr_linenumber" name="L488" href="#L488">488</a>
-<a class="jxr_linenumber" name="L489" href="#L489">489</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L490" href="#L490">490</a> <em
class="jxr_javadoccomment"> * Returns the port number of the remote host to
which the client is connected. Delegates to {@link Socket#getPort()}</em>
-<a class="jxr_linenumber" name="L491" href="#L491">491</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L492" href="#L492">492</a> <em
class="jxr_javadoccomment"> * @return The port number of the remote host to
which the client is connected.</em>
-<a class="jxr_linenumber" name="L493" href="#L493">493</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
-<a class="jxr_linenumber" name="L494" href="#L494">494</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L495" href="#L495">495</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getRemotePort() {
-<a class="jxr_linenumber" name="L496" href="#L496">496</a> <strong
class="jxr_keyword">return</strong> _socket_.getPort();
-<a class="jxr_linenumber" name="L497" href="#L497">497</a> }
-<a class="jxr_linenumber" name="L498" href="#L498">498</a>
-<a class="jxr_linenumber" name="L499" href="#L499">499</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L500" href="#L500">500</a> <em
class="jxr_javadoccomment"> * Gets the current sendBuffer size</em>
-<a class="jxr_linenumber" name="L501" href="#L501">501</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L502" href="#L502">502</a> <em
class="jxr_javadoccomment"> * @return the size, or -1 if not
initialized</em>
-<a class="jxr_linenumber" name="L503" href="#L503">503</a> <em
class="jxr_javadoccomment"> * @since 3.0</em>
-<a class="jxr_linenumber" name="L504" href="#L504">504</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L505" href="#L505">505</a> <strong
class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong>
getSendBufferSize() {
-<a class="jxr_linenumber" name="L506" href="#L506">506</a> <strong
class="jxr_keyword">return</strong> sendBufferSize;
-<a class="jxr_linenumber" name="L507" href="#L507">507</a> }
-<a class="jxr_linenumber" name="L508" href="#L508">508</a>
-<a class="jxr_linenumber" name="L509" href="#L509">509</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L510" href="#L510">510</a> <em
class="jxr_javadoccomment"> * Gets the underlying {@link
ServerSocketFactory}</em>
-<a class="jxr_linenumber" name="L511" href="#L511">511</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L512" href="#L512">512</a> <em
class="jxr_javadoccomment"> * @return The server socket factory</em>
-<a class="jxr_linenumber" name="L513" href="#L513">513</a> <em
class="jxr_javadoccomment"> * @since 2.2</em>
-<a class="jxr_linenumber" name="L514" href="#L514">514</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L515" href="#L515">515</a> <strong
class="jxr_keyword">public</strong> ServerSocketFactory
getServerSocketFactory() {
-<a class="jxr_linenumber" name="L516" href="#L516">516</a> <strong
class="jxr_keyword">return</strong> _serverSocketFactory_;
-<a class="jxr_linenumber" name="L517" href="#L517">517</a> }
-<a class="jxr_linenumber" name="L518" href="#L518">518</a>
-<a class="jxr_linenumber" name="L519" href="#L519">519</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L520" href="#L520">520</a> <em
class="jxr_javadoccomment"> * Returns the current SO_LINGER timeout of the
currently opened socket.</em>
-<a class="jxr_linenumber" name="L521" href="#L521">521</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L522" href="#L522">522</a> <em
class="jxr_javadoccomment"> * @return The current SO_LINGER timeout. If
SO_LINGER is disabled returns -1.</em>
-<a class="jxr_linenumber" name="L523" href="#L523">523</a> <em
class="jxr_javadoccomment"> * @throws SocketException If the operation
fails.</em>
-<a class="jxr_linenumber" name="L524" href="#L524">524</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
-<a class="jxr_linenumber" name="L525" href="#L525">525</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L526" href="#L526">526</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getSoLinger() <strong class="jxr_keyword">throws</strong> SocketException {
-<a class="jxr_linenumber" name="L527" href="#L527">527</a> <strong
class="jxr_keyword">return</strong> _socket_.getSoLinger();
-<a class="jxr_linenumber" name="L528" href="#L528">528</a> }
-<a class="jxr_linenumber" name="L529" href="#L529">529</a>
-<a class="jxr_linenumber" name="L530" href="#L530">530</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L531" href="#L531">531</a> <em
class="jxr_javadoccomment"> * Returns the timeout in milliseconds of the
currently opened socket.</em>
-<a class="jxr_linenumber" name="L532" href="#L532">532</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L533" href="#L533">533</a> <em
class="jxr_javadoccomment"> * @return The timeout in milliseconds of the
currently opened socket.</em>
-<a class="jxr_linenumber" name="L534" href="#L534">534</a> <em
class="jxr_javadoccomment"> * @throws SocketException If the operation
fails.</em>
-<a class="jxr_linenumber" name="L535" href="#L535">535</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
-<a class="jxr_linenumber" name="L536" href="#L536">536</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L537" href="#L537">537</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getSoTimeout() <strong class="jxr_keyword">throws</strong> SocketException {
-<a class="jxr_linenumber" name="L538" href="#L538">538</a> <strong
class="jxr_keyword">return</strong> _socket_.getSoTimeout();
-<a class="jxr_linenumber" name="L539" href="#L539">539</a> }
-<a class="jxr_linenumber" name="L540" href="#L540">540</a>
-<a class="jxr_linenumber" name="L541" href="#L541">541</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L542" href="#L542">542</a> <em
class="jxr_javadoccomment"> * Returns true if Nagle's algorithm is enabled
on the currently opened socket.</em>
-<a class="jxr_linenumber" name="L543" href="#L543">543</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L544" href="#L544">544</a> <em
class="jxr_javadoccomment"> * @return True if Nagle's algorithm is enabled
on the currently opened socket, false otherwise.</em>
-<a class="jxr_linenumber" name="L545" href="#L545">545</a> <em
class="jxr_javadoccomment"> * @throws SocketException If the operation
fails.</em>
-<a class="jxr_linenumber" name="L546" href="#L546">546</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
-<a class="jxr_linenumber" name="L547" href="#L547">547</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L548" href="#L548">548</a> <strong
class="jxr_keyword">public</strong> <strong
class="jxr_keyword">boolean</strong> getTcpNoDelay() <strong
class="jxr_keyword">throws</strong> SocketException {
-<a class="jxr_linenumber" name="L549" href="#L549">549</a> <strong
class="jxr_keyword">return</strong> _socket_.getTcpNoDelay();
-<a class="jxr_linenumber" name="L550" href="#L550">550</a> }
-<a class="jxr_linenumber" name="L551" href="#L551">551</a>
-<a class="jxr_linenumber" name="L552" href="#L552">552</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L553" href="#L553">553</a> <em
class="jxr_javadoccomment"> * Make various checks on the socket to test if
it is available for use. Note that the only sure test is to use it, but these
checks may help in some cases.</em>
-<a class="jxr_linenumber" name="L554" href="#L554">554</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L555" href="#L555">555</a> <em
class="jxr_javadoccomment"> * @see <a href="<a
href="https://issues.apache.org/jira/browse/NET-350"
target="alexandria_uri">https://issues.apache.org/jira/browse/NET-350</a>">NET-350</a></em>
-<a class="jxr_linenumber" name="L556" href="#L556">556</a> <em
class="jxr_javadoccomment"> * @return {@code true} if the socket appears to
be available for use</em>
-<a class="jxr_linenumber" name="L557" href="#L557">557</a> <em
class="jxr_javadoccomment"> * @since 3.0</em>
-<a class="jxr_linenumber" name="L558" href="#L558">558</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L559" href="#L559">559</a>
@SuppressWarnings(<span class="jxr_string">"resource"</span>)
-<a class="jxr_linenumber" name="L560" href="#L560">560</a> <strong
class="jxr_keyword">public</strong> <strong
class="jxr_keyword">boolean</strong> isAvailable() {
-<a class="jxr_linenumber" name="L561" href="#L561">561</a> <strong
class="jxr_keyword">if</strong> (isConnected()) {
-<a class="jxr_linenumber" name="L562" href="#L562">562</a> <strong
class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L563" href="#L563">563</a>
<strong class="jxr_keyword">if</strong> (_socket_.getInetAddress() == <strong
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L564" href="#L564">564</a>
<strong class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L565" href="#L565">565</a> }
-<a class="jxr_linenumber" name="L566" href="#L566">566</a>
<strong class="jxr_keyword">if</strong> (_socket_.getPort() == 0) {
-<a class="jxr_linenumber" name="L567" href="#L567">567</a>
<strong class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L568" href="#L568">568</a> }
-<a class="jxr_linenumber" name="L569" href="#L569">569</a>
<strong class="jxr_keyword">if</strong> (_socket_.getRemoteSocketAddress() ==
<strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L570" href="#L570">570</a>
<strong class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L571" href="#L571">571</a> }
-<a class="jxr_linenumber" name="L572" href="#L572">572</a>
<strong class="jxr_keyword">if</strong> (_socket_.isClosed()) {
-<a class="jxr_linenumber" name="L573" href="#L573">573</a>
<strong class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L574" href="#L574">574</a> }
-<a class="jxr_linenumber" name="L575" href="#L575">575</a> <em
class="jxr_comment">/*</em>
-<a class="jxr_linenumber" name="L576" href="#L576">576</a> <em
class="jxr_comment"> * these aren't exact checks (a Socket can
be half-open), but since we usually require two-way data transfer, we check
these here too:</em>
-<a class="jxr_linenumber" name="L577" href="#L577">577</a> <em
class="jxr_comment"> */</em>
-<a class="jxr_linenumber" name="L578" href="#L578">578</a>
<strong class="jxr_keyword">if</strong> (_socket_.isInputShutdown()) {
-<a class="jxr_linenumber" name="L579" href="#L579">579</a>
<strong class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L580" href="#L580">580</a> }
-<a class="jxr_linenumber" name="L581" href="#L581">581</a>
<strong class="jxr_keyword">if</strong> (_socket_.isOutputShutdown()) {
-<a class="jxr_linenumber" name="L582" href="#L582">582</a>
<strong class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L583" href="#L583">583</a> }
-<a class="jxr_linenumber" name="L584" href="#L584">584</a> <em
class="jxr_comment">/* ignore the result, catch exceptions: */</em>
-<a class="jxr_linenumber" name="L585" href="#L585">585</a> <em
class="jxr_comment">// No need to close</em>
-<a class="jxr_linenumber" name="L586" href="#L586">586</a>
_socket_.getInputStream();
-<a class="jxr_linenumber" name="L587" href="#L587">587</a> <em
class="jxr_comment">// No need to close</em>
-<a class="jxr_linenumber" name="L588" href="#L588">588</a>
_socket_.getOutputStream();
-<a class="jxr_linenumber" name="L589" href="#L589">589</a> }
<strong class="jxr_keyword">catch</strong> (<strong
class="jxr_keyword">final</strong> IOException ioex) {
-<a class="jxr_linenumber" name="L590" href="#L590">590</a>
<strong class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L591" href="#L591">591</a> }
-<a class="jxr_linenumber" name="L592" href="#L592">592</a> <strong
class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L593" href="#L593">593</a> }
-<a class="jxr_linenumber" name="L594" href="#L594">594</a> <strong
class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L595" href="#L595">595</a> }
-<a class="jxr_linenumber" name="L596" href="#L596">596</a>
-<a class="jxr_linenumber" name="L597" href="#L597">597</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L598" href="#L598">598</a> <em
class="jxr_javadoccomment"> * Returns true if the client is currently
connected to a server.</em>
-<a class="jxr_linenumber" name="L599" href="#L599">599</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L600" href="#L600">600</a> <em
class="jxr_javadoccomment"> * Delegates to {@link Socket#isConnected()}</em>
-<a class="jxr_linenumber" name="L601" href="#L601">601</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L602" href="#L602">602</a> <em
class="jxr_javadoccomment"> * @return True if the client is currently
connected to a server, false otherwise.</em>
-<a class="jxr_linenumber" name="L603" href="#L603">603</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L604" href="#L604">604</a> <strong
class="jxr_keyword">public</strong> <strong
class="jxr_keyword">boolean</strong> isConnected() {
-<a class="jxr_linenumber" name="L605" href="#L605">605</a> <strong
class="jxr_keyword">if</strong> (_socket_ == <strong
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L606" href="#L606">606</a> <strong
class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L607" href="#L607">607</a> }
-<a class="jxr_linenumber" name="L608" href="#L608">608</a>
-<a class="jxr_linenumber" name="L609" href="#L609">609</a> <strong
class="jxr_keyword">return</strong> _socket_.isConnected();
-<a class="jxr_linenumber" name="L610" href="#L610">610</a> }
-<a class="jxr_linenumber" name="L611" href="#L611">611</a>
-<a class="jxr_linenumber" name="L612" href="#L612">612</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L613" href="#L613">613</a> <em
class="jxr_javadoccomment"> * Removes a ProtocolCommandListener.</em>
-<a class="jxr_linenumber" name="L614" href="#L614">614</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L615" href="#L615">615</a> <em
class="jxr_javadoccomment"> * @param listener The ProtocolCommandListener
to remove.</em>
-<a class="jxr_linenumber" name="L616" href="#L616">616</a> <em
class="jxr_javadoccomment"> * @since 3.0</em>
-<a class="jxr_linenumber" name="L617" href="#L617">617</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L618" href="#L618">618</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
removeProtocolCommandListener(<strong class="jxr_keyword">final</strong> <a
name="ProtocolCommandListener"
href="../../../../org/apache/commons/net/ProtocolCommandListener.html#ProtocolCommandListener">ProtocolCommandListener</a>
listener) {
-<a class="jxr_linenumber" name="L619" href="#L619">619</a>
getCommandSupport().removeProtocolCommandListener(listener);
-<a class="jxr_linenumber" name="L620" href="#L620">620</a> }
-<a class="jxr_linenumber" name="L621" href="#L621">621</a>
-<a class="jxr_linenumber" name="L622" href="#L622">622</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L623" href="#L623">623</a> <em
class="jxr_javadoccomment"> * Sets the charset.</em>
-<a class="jxr_linenumber" name="L624" href="#L624">624</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L625" href="#L625">625</a> <em
class="jxr_javadoccomment"> * @param charset the charset.</em>
-<a class="jxr_linenumber" name="L626" href="#L626">626</a> <em
class="jxr_javadoccomment"> * @since 3.3</em>
-<a class="jxr_linenumber" name="L627" href="#L627">627</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L628" href="#L628">628</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setCharset(<strong class="jxr_keyword">final</strong> Charset charset) {
-<a class="jxr_linenumber" name="L629" href="#L629">629</a> <strong
class="jxr_keyword">this</strong>.charset = charset;
-<a class="jxr_linenumber" name="L630" href="#L630">630</a> }
-<a class="jxr_linenumber" name="L631" href="#L631">631</a>
-<a class="jxr_linenumber" name="L632" href="#L632">632</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L633" href="#L633">633</a> <em
class="jxr_javadoccomment"> * Sets the connection timeout in milliseconds,
which will be passed to the {@link Socket} object's connect() method.</em>
-<a class="jxr_linenumber" name="L634" href="#L634">634</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L635" href="#L635">635</a> <em
class="jxr_javadoccomment"> * @param connectTimeout The connection timeout
to use (in ms)</em>
-<a class="jxr_linenumber" name="L636" href="#L636">636</a> <em
class="jxr_javadoccomment"> * @since 2.0</em>
-<a class="jxr_linenumber" name="L637" href="#L637">637</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L638" href="#L638">638</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setConnectTimeout(<strong class="jxr_keyword">final</strong> <strong
class="jxr_keyword">int</strong> connectTimeout) {
-<a class="jxr_linenumber" name="L639" href="#L639">639</a> <strong
class="jxr_keyword">this</strong>.connectTimeout = connectTimeout;
-<a class="jxr_linenumber" name="L640" href="#L640">640</a> }
-<a class="jxr_linenumber" name="L641" href="#L641">641</a>
-<a class="jxr_linenumber" name="L642" href="#L642">642</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L643" href="#L643">643</a> <em
class="jxr_javadoccomment"> * Sets the default port the SocketClient should
connect to when a port is not specified. The {@link #_defaultPort_
_defaultPort_ } variable stores this</em>
-<a class="jxr_linenumber" name="L644" href="#L644">644</a> <em
class="jxr_javadoccomment"> * value. If never set, the default port is
equal to zero.</em>
-<a class="jxr_linenumber" name="L645" href="#L645">645</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L646" href="#L646">646</a> <em
class="jxr_javadoccomment"> * @param port The default port to set.</em>
-<a class="jxr_linenumber" name="L647" href="#L647">647</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L648" href="#L648">648</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setDefaultPort(<strong class="jxr_keyword">final</strong> <strong
class="jxr_keyword">int</strong> port) {
-<a class="jxr_linenumber" name="L649" href="#L649">649</a>
_defaultPort_ = port;
-<a class="jxr_linenumber" name="L650" href="#L650">650</a> }
-<a class="jxr_linenumber" name="L651" href="#L651">651</a>
-<a class="jxr_linenumber" name="L652" href="#L652">652</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L653" href="#L653">653</a> <em
class="jxr_javadoccomment"> * Sets the default timeout in milliseconds to
use when opening a socket. This value is only used previous to a call to {@link
#connect connect()} and</em>
-<a class="jxr_linenumber" name="L654" href="#L654">654</a> <em
class="jxr_javadoccomment"> * should not be confused with {@link
#setSoTimeout setSoTimeout()} which operates on the currently opened socket.
_timeout_ contains the new timeout value.</em>
-<a class="jxr_linenumber" name="L655" href="#L655">655</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L656" href="#L656">656</a> <em
class="jxr_javadoccomment"> * @param timeout The timeout in milliseconds to
use for the socket connection.</em>
-<a class="jxr_linenumber" name="L657" href="#L657">657</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L658" href="#L658">658</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setDefaultTimeout(<strong class="jxr_keyword">final</strong> <strong
class="jxr_keyword">int</strong> timeout) {
-<a class="jxr_linenumber" name="L659" href="#L659">659</a> _timeout_ =
timeout;
-<a class="jxr_linenumber" name="L660" href="#L660">660</a> }
-<a class="jxr_linenumber" name="L661" href="#L661">661</a>
-<a class="jxr_linenumber" name="L662" href="#L662">662</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L663" href="#L663">663</a> <em
class="jxr_javadoccomment"> * Sets the SO_KEEPALIVE flag on the currently
opened socket.</em>
-<a class="jxr_linenumber" name="L664" href="#L664">664</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L665" href="#L665">665</a> <em
class="jxr_javadoccomment"> * From the Javadocs, the default keepalive time
is 2 hours (although this is implementation dependent). It looks as though the
Windows WSA sockets</em>
-<a class="jxr_linenumber" name="L666" href="#L666">666</a> <em
class="jxr_javadoccomment"> * implementation allows a specific keepalive
value to be set, although this seems not to be the case on other systems.</em>
-<a class="jxr_linenumber" name="L667" href="#L667">667</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L668" href="#L668">668</a> <em
class="jxr_javadoccomment"> * @param keepAlive If true, keepAlive is turned
on</em>
-<a class="jxr_linenumber" name="L669" href="#L669">669</a> <em
class="jxr_javadoccomment"> * @throws SocketException if there is a
problem with the socket</em>
-<a class="jxr_linenumber" name="L670" href="#L670">670</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
-<a class="jxr_linenumber" name="L671" href="#L671">671</a> <em
class="jxr_javadoccomment"> * @since 2.2</em>
-<a class="jxr_linenumber" name="L672" href="#L672">672</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L673" href="#L673">673</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setKeepAlive(<strong class="jxr_keyword">final</strong> <strong
class="jxr_keyword">boolean</strong> keepAlive) <strong
class="jxr_keyword">throws</strong> SocketException {
-<a class="jxr_linenumber" name="L674" href="#L674">674</a>
_socket_.setKeepAlive(keepAlive);
-<a class="jxr_linenumber" name="L675" href="#L675">675</a> }
-<a class="jxr_linenumber" name="L676" href="#L676">676</a>
-<a class="jxr_linenumber" name="L677" href="#L677">677</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L678" href="#L678">678</a> <em
class="jxr_javadoccomment"> * Sets the proxy for use with all the
connections. The proxy is used for connections established after the call to
this method.</em>
-<a class="jxr_linenumber" name="L679" href="#L679">679</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L680" href="#L680">680</a> <em
class="jxr_javadoccomment"> * @param proxy the new proxy for
connections.</em>
-<a class="jxr_linenumber" name="L681" href="#L681">681</a> <em
class="jxr_javadoccomment"> * @since 3.2</em>
-<a class="jxr_linenumber" name="L682" href="#L682">682</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L683" href="#L683">683</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setProxy(<strong class="jxr_keyword">final</strong> Proxy proxy) {
-<a class="jxr_linenumber" name="L684" href="#L684">684</a>
setSocketFactory(<strong class="jxr_keyword">new</strong> <a
name="DefaultSocketFactory"
href="../../../../org/apache/commons/net/DefaultSocketFactory.html#DefaultSocketFactory">DefaultSocketFactory</a>(proxy));
-<a class="jxr_linenumber" name="L685" href="#L685">685</a> connProxy =
proxy;
-<a class="jxr_linenumber" name="L686" href="#L686">686</a> }
-<a class="jxr_linenumber" name="L687" href="#L687">687</a>
-<a class="jxr_linenumber" name="L688" href="#L688">688</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L689" href="#L689">689</a> <em
class="jxr_javadoccomment"> * Sets the underlying socket receive buffer
size.</em>
-<a class="jxr_linenumber" name="L690" href="#L690">690</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L691" href="#L691">691</a> <em
class="jxr_javadoccomment"> * @param size The size of the buffer in
bytes.</em>
-<a class="jxr_linenumber" name="L692" href="#L692">692</a> <em
class="jxr_javadoccomment"> * @throws SocketException never (but subclasses
may wish to do so)</em>
-<a class="jxr_linenumber" name="L693" href="#L693">693</a> <em
class="jxr_javadoccomment"> * @since 2.0</em>
-<a class="jxr_linenumber" name="L694" href="#L694">694</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L695" href="#L695">695</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setReceiveBufferSize(<strong class="jxr_keyword">final</strong> <strong
class="jxr_keyword">int</strong> size) <strong
class="jxr_keyword">throws</strong> SocketException {
-<a class="jxr_linenumber" name="L696" href="#L696">696</a>
receiveBufferSize = size;
-<a class="jxr_linenumber" name="L697" href="#L697">697</a> }
-<a class="jxr_linenumber" name="L698" href="#L698">698</a>
-<a class="jxr_linenumber" name="L699" href="#L699">699</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L700" href="#L700">700</a> <em
class="jxr_javadoccomment"> * Sets the underlying socket send buffer
size.</em>
-<a class="jxr_linenumber" name="L701" href="#L701">701</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L702" href="#L702">702</a> <em
class="jxr_javadoccomment"> * @param size The size of the buffer in
bytes.</em>
-<a class="jxr_linenumber" name="L703" href="#L703">703</a> <em
class="jxr_javadoccomment"> * @throws SocketException never thrown, but
subclasses might want to do so</em>
-<a class="jxr_linenumber" name="L704" href="#L704">704</a> <em
class="jxr_javadoccomment"> * @since 2.0</em>
-<a class="jxr_linenumber" name="L705" href="#L705">705</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L706" href="#L706">706</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setSendBufferSize(<strong class="jxr_keyword">final</strong> <strong
class="jxr_keyword">int</strong> size) <strong
class="jxr_keyword">throws</strong> SocketException {
-<a class="jxr_linenumber" name="L707" href="#L707">707</a>
sendBufferSize = size;
-<a class="jxr_linenumber" name="L708" href="#L708">708</a> }
-<a class="jxr_linenumber" name="L709" href="#L709">709</a>
-<a class="jxr_linenumber" name="L710" href="#L710">710</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L711" href="#L711">711</a> <em
class="jxr_javadoccomment"> * Sets the ServerSocketFactory used by the
SocketClient to open ServerSocket connections. If the factory value is null,
then a default factory is used</em>
-<a class="jxr_linenumber" name="L712" href="#L712">712</a> <em
class="jxr_javadoccomment"> * (only do this to reset the factory after
having previously altered it).</em>
-<a class="jxr_linenumber" name="L713" href="#L713">713</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L714" href="#L714">714</a> <em
class="jxr_javadoccomment"> * @param factory The new ServerSocketFactory
the SocketClient should use.</em>
-<a class="jxr_linenumber" name="L715" href="#L715">715</a> <em
class="jxr_javadoccomment"> * @since 2.0</em>
-<a class="jxr_linenumber" name="L716" href="#L716">716</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L717" href="#L717">717</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setServerSocketFactory(<strong class="jxr_keyword">final</strong>
ServerSocketFactory factory) {
-<a class="jxr_linenumber" name="L718" href="#L718">718</a> <strong
class="jxr_keyword">if</strong> (factory == <strong
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L719" href="#L719">719</a>
_serverSocketFactory_ = DEFAULT_SERVER_SOCKET_FACTORY;
-<a class="jxr_linenumber" name="L720" href="#L720">720</a> } <strong
class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L721" href="#L721">721</a>
_serverSocketFactory_ = factory;
-<a class="jxr_linenumber" name="L722" href="#L722">722</a> }
-<a class="jxr_linenumber" name="L723" href="#L723">723</a> }
-<a class="jxr_linenumber" name="L724" href="#L724">724</a>
-<a class="jxr_linenumber" name="L725" href="#L725">725</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L726" href="#L726">726</a> <em
class="jxr_javadoccomment"> * Sets the SocketFactory used by the
SocketClient to open socket connections. If the factory value is null, then a
default factory is used (only do this to</em>
-<a class="jxr_linenumber" name="L727" href="#L727">727</a> <em
class="jxr_javadoccomment"> * reset the factory after having previously
altered it). Any proxy setting is discarded.</em>
-<a class="jxr_linenumber" name="L728" href="#L728">728</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L729" href="#L729">729</a> <em
class="jxr_javadoccomment"> * @param factory The new SocketFactory the
SocketClient should use.</em>
-<a class="jxr_linenumber" name="L730" href="#L730">730</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L731" href="#L731">731</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setSocketFactory(<strong class="jxr_keyword">final</strong> SocketFactory
factory) {
-<a class="jxr_linenumber" name="L732" href="#L732">732</a> <strong
class="jxr_keyword">if</strong> (factory == <strong
class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L733" href="#L733">733</a>
_socketFactory_ = DEFAULT_SOCKET_FACTORY;
-<a class="jxr_linenumber" name="L734" href="#L734">734</a> } <strong
class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L735" href="#L735">735</a>
_socketFactory_ = factory;
-<a class="jxr_linenumber" name="L736" href="#L736">736</a> }
-<a class="jxr_linenumber" name="L737" href="#L737">737</a> }
-<a class="jxr_linenumber" name="L738" href="#L738">738</a>
-<a class="jxr_linenumber" name="L739" href="#L739">739</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L740" href="#L740">740</a> <em
class="jxr_javadoccomment"> * Sets the SO_LINGER timeout on the currently
opened socket.</em>
-<a class="jxr_linenumber" name="L741" href="#L741">741</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L742" href="#L742">742</a> <em
class="jxr_javadoccomment"> * @param on True if linger is to be enabled,
false if not.</em>
-<a class="jxr_linenumber" name="L743" href="#L743">743</a> <em
class="jxr_javadoccomment"> * @param val The {@code linger} timeout (in
hundredths of a second?)</em>
-<a class="jxr_linenumber" name="L744" href="#L744">744</a> <em
class="jxr_javadoccomment"> * @throws SocketException If the operation
fails.</em>
-<a class="jxr_linenumber" name="L745" href="#L745">745</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
-<a class="jxr_linenumber" name="L746" href="#L746">746</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L747" href="#L747">747</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setSoLinger(<strong class="jxr_keyword">final</strong> <strong
class="jxr_keyword">boolean</strong> on, <strong
class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>
val) <strong class="jxr_keyword">throws</strong> SocketException {
-<a class="jxr_linenumber" name="L748" href="#L748">748</a>
_socket_.setSoLinger(on, val);
-<a class="jxr_linenumber" name="L749" href="#L749">749</a> }
-<a class="jxr_linenumber" name="L750" href="#L750">750</a>
-<a class="jxr_linenumber" name="L751" href="#L751">751</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L752" href="#L752">752</a> <em
class="jxr_javadoccomment"> * Sets the timeout in milliseconds of a
currently open connection. Only call this method after a connection has been
opened by {@link #connect connect()}.</em>
-<a class="jxr_linenumber" name="L753" href="#L753">753</a> <em
class="jxr_javadoccomment"> * <p></em>
-<a class="jxr_linenumber" name="L754" href="#L754">754</a> <em
class="jxr_javadoccomment"> * To set the initial timeout, use {@link
#setDefaultTimeout(int)} instead.</em>
-<a class="jxr_linenumber" name="L755" href="#L755">755</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L756" href="#L756">756</a> <em
class="jxr_javadoccomment"> * @param timeout The timeout in milliseconds to
use for the currently open socket connection.</em>
-<a class="jxr_linenumber" name="L757" href="#L757">757</a> <em
class="jxr_javadoccomment"> * @throws SocketException If the operation
fails.</em>
-<a class="jxr_linenumber" name="L758" href="#L758">758</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
-<a class="jxr_linenumber" name="L759" href="#L759">759</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L760" href="#L760">760</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setSoTimeout(<strong class="jxr_keyword">final</strong> <strong
class="jxr_keyword">int</strong> timeout) <strong
class="jxr_keyword">throws</strong> SocketException {
-<a class="jxr_linenumber" name="L761" href="#L761">761</a>
_socket_.setSoTimeout(timeout);
-<a class="jxr_linenumber" name="L762" href="#L762">762</a> }
-<a class="jxr_linenumber" name="L763" href="#L763">763</a>
-<a class="jxr_linenumber" name="L764" href="#L764">764</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L765" href="#L765">765</a> <em
class="jxr_javadoccomment"> * Enables or disables the Nagle's algorithm
(TCP_NODELAY) on the currently opened socket.</em>
-<a class="jxr_linenumber" name="L766" href="#L766">766</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L767" href="#L767">767</a> <em
class="jxr_javadoccomment"> * @param on True if Nagle's algorithm is to be
enabled, false if not.</em>
-<a class="jxr_linenumber" name="L768" href="#L768">768</a> <em
class="jxr_javadoccomment"> * @throws SocketException If the operation
fails.</em>
-<a class="jxr_linenumber" name="L769" href="#L769">769</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
-<a class="jxr_linenumber" name="L770" href="#L770">770</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L771" href="#L771">771</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
setTcpNoDelay(<strong class="jxr_keyword">final</strong> <strong
class="jxr_keyword">boolean</strong> on) <strong
class="jxr_keyword">throws</strong> SocketException {
-<a class="jxr_linenumber" name="L772" href="#L772">772</a>
_socket_.setTcpNoDelay(on);
-<a class="jxr_linenumber" name="L773" href="#L773">773</a> }
-<a class="jxr_linenumber" name="L774" href="#L774">774</a>
-<a class="jxr_linenumber" name="L775" href="#L775">775</a> <em
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L776" href="#L776">776</a> <em
class="jxr_javadoccomment"> * Verifies that the remote end of the given
socket is connected to the same host that the SocketClient is currently
connected to. This is useful for</em>
-<a class="jxr_linenumber" name="L777" href="#L777">777</a> <em
class="jxr_javadoccomment"> * doing a quick security check when a client
needs to accept a connection from a server, such as an FTP data connection or a
BSD R command standard error</em>
-<a class="jxr_linenumber" name="L778" href="#L778">778</a> <em
class="jxr_javadoccomment"> * stream.</em>
-<a class="jxr_linenumber" name="L779" href="#L779">779</a> <em
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L780" href="#L780">780</a> <em
class="jxr_javadoccomment"> * @param socket the item to check against</em>
-<a class="jxr_linenumber" name="L781" href="#L781">781</a> <em
class="jxr_javadoccomment"> * @return True if the remote hosts are the
same, false if not.</em>
-<a class="jxr_linenumber" name="L782" href="#L782">782</a> <em
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L783" href="#L783">783</a> <strong
class="jxr_keyword">public</strong> <strong
class="jxr_keyword">boolean</strong> verifyRemote(<strong
class="jxr_keyword">final</strong> Socket socket) {
-<a class="jxr_linenumber" name="L784" href="#L784">784</a> <strong
class="jxr_keyword">final</strong> InetAddress host1;
-<a class="jxr_linenumber" name="L785" href="#L785">785</a> <strong
class="jxr_keyword">final</strong> InetAddress host2;
-<a class="jxr_linenumber" name="L786" href="#L786">786</a>
-<a class="jxr_linenumber" name="L787" href="#L787">787</a> host1 =
socket.getInetAddress();
-<a class="jxr_linenumber" name="L788" href="#L788">788</a> host2 =
getRemoteAddress();
+<a class="jxr_linenumber" name="L324" href="#L324">324</a>
@SuppressWarnings(<span class="jxr_string">"unused"</span>) <em
class="jxr_comment">// subclasses may throw IOException</em>
+<a class="jxr_linenumber" name="L325" href="#L325">325</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>
disconnect() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L326" href="#L326">326</a>
closeQuietly(_socket_);
+<a class="jxr_linenumber" name="L327" href="#L327">327</a>
closeQuietly(_input_);
+<a class="jxr_linenumber" name="L328" href="#L328">328</a>
closeQuietly(_output_);
+<a class="jxr_linenumber" name="L329" href="#L329">329</a> _socket_ =
<strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L330" href="#L330">330</a> _hostname_
= <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L331" href="#L331">331</a> _input_ =
<strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L332" href="#L332">332</a> _output_ =
<strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L333" href="#L333">333</a> }
+<a class="jxr_linenumber" name="L334" href="#L334">334</a>
+<a class="jxr_linenumber" name="L335" href="#L335">335</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L336" href="#L336">336</a> <em
class="jxr_javadoccomment"> * If there are any listeners, send them the
command details.</em>
+<a class="jxr_linenumber" name="L337" href="#L337">337</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L338" href="#L338">338</a> <em
class="jxr_javadoccomment"> * @param command the command name</em>
+<a class="jxr_linenumber" name="L339" href="#L339">339</a> <em
class="jxr_javadoccomment"> * @param message the complete message,
including command name</em>
+<a class="jxr_linenumber" name="L340" href="#L340">340</a> <em
class="jxr_javadoccomment"> * @since 3.0</em>
+<a class="jxr_linenumber" name="L341" href="#L341">341</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L342" href="#L342">342</a> <strong
class="jxr_keyword">protected</strong> <strong
class="jxr_keyword">void</strong> fireCommandSent(<strong
class="jxr_keyword">final</strong> String command, <strong
class="jxr_keyword">final</strong> String message) {
+<a class="jxr_linenumber" name="L343" href="#L343">343</a> <strong
class="jxr_keyword">if</strong> (getCommandSupport().getListenerCount() > 0)
{
+<a class="jxr_linenumber" name="L344" href="#L344">344</a>
getCommandSupport().fireCommandSent(command, message);
+<a class="jxr_linenumber" name="L345" href="#L345">345</a> }
+<a class="jxr_linenumber" name="L346" href="#L346">346</a> }
+<a class="jxr_linenumber" name="L347" href="#L347">347</a>
+<a class="jxr_linenumber" name="L348" href="#L348">348</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L349" href="#L349">349</a> <em
class="jxr_javadoccomment"> * If there are any listeners, send them the
reply details.</em>
+<a class="jxr_linenumber" name="L350" href="#L350">350</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L351" href="#L351">351</a> <em
class="jxr_javadoccomment"> * @param replyCode the code extracted from the
reply</em>
+<a class="jxr_linenumber" name="L352" href="#L352">352</a> <em
class="jxr_javadoccomment"> * @param reply the full reply text</em>
+<a class="jxr_linenumber" name="L353" href="#L353">353</a> <em
class="jxr_javadoccomment"> * @since 3.0</em>
+<a class="jxr_linenumber" name="L354" href="#L354">354</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L355" href="#L355">355</a> <strong
class="jxr_keyword">protected</strong> <strong
class="jxr_keyword">void</strong> fireReplyReceived(<strong
class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>
replyCode, <strong class="jxr_keyword">final</strong> String reply) {
+<a class="jxr_linenumber" name="L356" href="#L356">356</a> <strong
class="jxr_keyword">if</strong> (getCommandSupport().getListenerCount() > 0)
{
+<a class="jxr_linenumber" name="L357" href="#L357">357</a>
getCommandSupport().fireReplyReceived(replyCode, reply);
+<a class="jxr_linenumber" name="L358" href="#L358">358</a> }
+<a class="jxr_linenumber" name="L359" href="#L359">359</a> }
+<a class="jxr_linenumber" name="L360" href="#L360">360</a>
+<a class="jxr_linenumber" name="L361" href="#L361">361</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L362" href="#L362">362</a> <em
class="jxr_javadoccomment"> * Gets the charset.</em>
+<a class="jxr_linenumber" name="L363" href="#L363">363</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L364" href="#L364">364</a> <em
class="jxr_javadoccomment"> * @return the charset.</em>
+<a class="jxr_linenumber" name="L365" href="#L365">365</a> <em
class="jxr_javadoccomment"> * @since 3.3</em>
+<a class="jxr_linenumber" name="L366" href="#L366">366</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L367" href="#L367">367</a> <strong
class="jxr_keyword">public</strong> Charset getCharset() {
+<a class="jxr_linenumber" name="L368" href="#L368">368</a> <strong
class="jxr_keyword">return</strong> charset;
+<a class="jxr_linenumber" name="L369" href="#L369">369</a> }
+<a class="jxr_linenumber" name="L370" href="#L370">370</a>
+<a class="jxr_linenumber" name="L371" href="#L371">371</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L372" href="#L372">372</a> <em
class="jxr_javadoccomment"> * Gets the charset name.</em>
+<a class="jxr_linenumber" name="L373" href="#L373">373</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L374" href="#L374">374</a> <em
class="jxr_javadoccomment"> * @return the charset.</em>
+<a class="jxr_linenumber" name="L375" href="#L375">375</a> <em
class="jxr_javadoccomment"> * @since 3.3</em>
+<a class="jxr_linenumber" name="L376" href="#L376">376</a> <em
class="jxr_javadoccomment"> * @deprecated Since the code now requires Java
1.6 as a minimum</em>
+<a class="jxr_linenumber" name="L377" href="#L377">377</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L378" href="#L378">378</a> @Deprecated
+<a class="jxr_linenumber" name="L379" href="#L379">379</a> <strong
class="jxr_keyword">public</strong> String getCharsetName() {
+<a class="jxr_linenumber" name="L380" href="#L380">380</a> <strong
class="jxr_keyword">return</strong> charset.name();
+<a class="jxr_linenumber" name="L381" href="#L381">381</a> }
+<a class="jxr_linenumber" name="L382" href="#L382">382</a>
+<a class="jxr_linenumber" name="L383" href="#L383">383</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L384" href="#L384">384</a> <em
class="jxr_javadoccomment"> * Subclasses can override this if they need to
provide their own instance field for backwards compatibility.</em>
+<a class="jxr_linenumber" name="L385" href="#L385">385</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L386" href="#L386">386</a> <em
class="jxr_javadoccomment"> * @return the CommandSupport instance, may be
{@code null}</em>
+<a class="jxr_linenumber" name="L387" href="#L387">387</a> <em
class="jxr_javadoccomment"> * @since 3.0</em>
+<a class="jxr_linenumber" name="L388" href="#L388">388</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L389" href="#L389">389</a> <strong
class="jxr_keyword">protected</strong> <a name="ProtocolCommandSupport"
href="../../../../org/apache/commons/net/ProtocolCommandSupport.html#ProtocolCommandSupport">ProtocolCommandSupport</a>
getCommandSupport() {
+<a class="jxr_linenumber" name="L390" href="#L390">390</a> <strong
class="jxr_keyword">return</strong> commandSupport;
+<a class="jxr_linenumber" name="L391" href="#L391">391</a> }
+<a class="jxr_linenumber" name="L392" href="#L392">392</a>
+<a class="jxr_linenumber" name="L393" href="#L393">393</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L394" href="#L394">394</a> <em
class="jxr_javadoccomment"> * Gets the underlying socket connection
timeout.</em>
+<a class="jxr_linenumber" name="L395" href="#L395">395</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L396" href="#L396">396</a> <em
class="jxr_javadoccomment"> * @return timeout (in ms)</em>
+<a class="jxr_linenumber" name="L397" href="#L397">397</a> <em
class="jxr_javadoccomment"> * @since 2.0</em>
+<a class="jxr_linenumber" name="L398" href="#L398">398</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L399" href="#L399">399</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getConnectTimeout() {
+<a class="jxr_linenumber" name="L400" href="#L400">400</a> <strong
class="jxr_keyword">return</strong> connectTimeout;
+<a class="jxr_linenumber" name="L401" href="#L401">401</a> }
+<a class="jxr_linenumber" name="L402" href="#L402">402</a>
+<a class="jxr_linenumber" name="L403" href="#L403">403</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L404" href="#L404">404</a> <em
class="jxr_javadoccomment"> * Returns the current value of the default port
(stored in {@link #_defaultPort_ _defaultPort_ }).</em>
+<a class="jxr_linenumber" name="L405" href="#L405">405</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L406" href="#L406">406</a> <em
class="jxr_javadoccomment"> * @return The current value of the default
port.</em>
+<a class="jxr_linenumber" name="L407" href="#L407">407</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L408" href="#L408">408</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getDefaultPort() {
+<a class="jxr_linenumber" name="L409" href="#L409">409</a> <strong
class="jxr_keyword">return</strong> _defaultPort_;
+<a class="jxr_linenumber" name="L410" href="#L410">410</a> }
+<a class="jxr_linenumber" name="L411" href="#L411">411</a>
+<a class="jxr_linenumber" name="L412" href="#L412">412</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L413" href="#L413">413</a> <em
class="jxr_javadoccomment"> * Returns the default timeout in milliseconds
that is used when opening a socket.</em>
+<a class="jxr_linenumber" name="L414" href="#L414">414</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L415" href="#L415">415</a> <em
class="jxr_javadoccomment"> * @return The default timeout in milliseconds
that is used when opening a socket.</em>
+<a class="jxr_linenumber" name="L416" href="#L416">416</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L417" href="#L417">417</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getDefaultTimeout() {
+<a class="jxr_linenumber" name="L418" href="#L418">418</a> <strong
class="jxr_keyword">return</strong> _timeout_;
+<a class="jxr_linenumber" name="L419" href="#L419">419</a> }
+<a class="jxr_linenumber" name="L420" href="#L420">420</a>
+<a class="jxr_linenumber" name="L421" href="#L421">421</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L422" href="#L422">422</a> <em
class="jxr_javadoccomment"> * Returns the current value of the SO_KEEPALIVE
flag on the currently opened socket. Delegates to {@link
Socket#getKeepAlive()}</em>
+<a class="jxr_linenumber" name="L423" href="#L423">423</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L424" href="#L424">424</a> <em
class="jxr_javadoccomment"> * @return True if SO_KEEPALIVE is enabled.</em>
+<a class="jxr_linenumber" name="L425" href="#L425">425</a> <em
class="jxr_javadoccomment"> * @throws SocketException if there is a
problem with the socket</em>
+<a class="jxr_linenumber" name="L426" href="#L426">426</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
+<a class="jxr_linenumber" name="L427" href="#L427">427</a> <em
class="jxr_javadoccomment"> * @since 2.2</em>
+<a class="jxr_linenumber" name="L428" href="#L428">428</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L429" href="#L429">429</a> <strong
class="jxr_keyword">public</strong> <strong
class="jxr_keyword">boolean</strong> getKeepAlive() <strong
class="jxr_keyword">throws</strong> SocketException {
+<a class="jxr_linenumber" name="L430" href="#L430">430</a> <strong
class="jxr_keyword">return</strong> _socket_.getKeepAlive();
+<a class="jxr_linenumber" name="L431" href="#L431">431</a> }
+<a class="jxr_linenumber" name="L432" href="#L432">432</a>
+<a class="jxr_linenumber" name="L433" href="#L433">433</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L434" href="#L434">434</a> <em
class="jxr_javadoccomment"> * Returns the local address to which the
client's socket is bound. Delegates to {@link Socket#getLocalAddress()}</em>
+<a class="jxr_linenumber" name="L435" href="#L435">435</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L436" href="#L436">436</a> <em
class="jxr_javadoccomment"> * @return The local address to which the
client's socket is bound.</em>
+<a class="jxr_linenumber" name="L437" href="#L437">437</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
+<a class="jxr_linenumber" name="L438" href="#L438">438</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L439" href="#L439">439</a> <strong
class="jxr_keyword">public</strong> InetAddress getLocalAddress() {
+<a class="jxr_linenumber" name="L440" href="#L440">440</a> <strong
class="jxr_keyword">return</strong> _socket_.getLocalAddress();
+<a class="jxr_linenumber" name="L441" href="#L441">441</a> }
+<a class="jxr_linenumber" name="L442" href="#L442">442</a>
+<a class="jxr_linenumber" name="L443" href="#L443">443</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L444" href="#L444">444</a> <em
class="jxr_javadoccomment"> * Returns the port number of the open socket on
the local host used for the connection. Delegates to {@link
Socket#getLocalPort()}</em>
+<a class="jxr_linenumber" name="L445" href="#L445">445</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L446" href="#L446">446</a> <em
class="jxr_javadoccomment"> * @return The port number of the open socket on
the local host used for the connection.</em>
+<a class="jxr_linenumber" name="L447" href="#L447">447</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
+<a class="jxr_linenumber" name="L448" href="#L448">448</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L449" href="#L449">449</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getLocalPort() {
+<a class="jxr_linenumber" name="L450" href="#L450">450</a> <strong
class="jxr_keyword">return</strong> _socket_.getLocalPort();
+<a class="jxr_linenumber" name="L451" href="#L451">451</a> }
+<a class="jxr_linenumber" name="L452" href="#L452">452</a>
+<a class="jxr_linenumber" name="L453" href="#L453">453</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L454" href="#L454">454</a> <em
class="jxr_javadoccomment"> * Gets the proxy for use with all the
connections.</em>
+<a class="jxr_linenumber" name="L455" href="#L455">455</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L456" href="#L456">456</a> <em
class="jxr_javadoccomment"> * @return the current proxy for
connections.</em>
+<a class="jxr_linenumber" name="L457" href="#L457">457</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L458" href="#L458">458</a> <strong
class="jxr_keyword">public</strong> Proxy getProxy() {
+<a class="jxr_linenumber" name="L459" href="#L459">459</a> <strong
class="jxr_keyword">return</strong> connProxy;
+<a class="jxr_linenumber" name="L460" href="#L460">460</a> }
+<a class="jxr_linenumber" name="L461" href="#L461">461</a>
+<a class="jxr_linenumber" name="L462" href="#L462">462</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L463" href="#L463">463</a> <em
class="jxr_javadoccomment"> * Gets the current receivedBuffer size</em>
+<a class="jxr_linenumber" name="L464" href="#L464">464</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L465" href="#L465">465</a> <em
class="jxr_javadoccomment"> * @return the size, or -1 if not
initialized</em>
+<a class="jxr_linenumber" name="L466" href="#L466">466</a> <em
class="jxr_javadoccomment"> * @since 3.0</em>
+<a class="jxr_linenumber" name="L467" href="#L467">467</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L468" href="#L468">468</a> <strong
class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong>
getReceiveBufferSize() {
+<a class="jxr_linenumber" name="L469" href="#L469">469</a> <strong
class="jxr_keyword">return</strong> receiveBufferSize;
+<a class="jxr_linenumber" name="L470" href="#L470">470</a> }
+<a class="jxr_linenumber" name="L471" href="#L471">471</a>
+<a class="jxr_linenumber" name="L472" href="#L472">472</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L473" href="#L473">473</a> <em
class="jxr_javadoccomment"> * @return The remote address to which the
client is connected. Delegates to {@link Socket#getInetAddress()}</em>
+<a class="jxr_linenumber" name="L474" href="#L474">474</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
+<a class="jxr_linenumber" name="L475" href="#L475">475</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L476" href="#L476">476</a> <strong
class="jxr_keyword">public</strong> InetAddress getRemoteAddress() {
+<a class="jxr_linenumber" name="L477" href="#L477">477</a> <strong
class="jxr_keyword">return</strong> _socket_.getInetAddress();
+<a class="jxr_linenumber" name="L478" href="#L478">478</a> }
+<a class="jxr_linenumber" name="L479" href="#L479">479</a>
+<a class="jxr_linenumber" name="L480" href="#L480">480</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L481" href="#L481">481</a> <em
class="jxr_javadoccomment"> * Gets the remote socket address used for the
connection.</em>
+<a class="jxr_linenumber" name="L482" href="#L482">482</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L483" href="#L483">483</a> <em
class="jxr_javadoccomment"> * @return the remote socket address used for
the connection</em>
+<a class="jxr_linenumber" name="L484" href="#L484">484</a> <em
class="jxr_javadoccomment"> * @since 3.10.0</em>
+<a class="jxr_linenumber" name="L485" href="#L485">485</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L486" href="#L486">486</a> <strong
class="jxr_keyword">protected</strong> InetSocketAddress
getRemoteInetSocketAddress() {
+<a class="jxr_linenumber" name="L487" href="#L487">487</a> <strong
class="jxr_keyword">return</strong> remoteInetSocketAddress;
+<a class="jxr_linenumber" name="L488" href="#L488">488</a> }
+<a class="jxr_linenumber" name="L489" href="#L489">489</a>
+<a class="jxr_linenumber" name="L490" href="#L490">490</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L491" href="#L491">491</a> <em
class="jxr_javadoccomment"> * Returns the port number of the remote host to
which the client is connected. Delegates to {@link Socket#getPort()}</em>
+<a class="jxr_linenumber" name="L492" href="#L492">492</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L493" href="#L493">493</a> <em
class="jxr_javadoccomment"> * @return The port number of the remote host to
which the client is connected.</em>
+<a class="jxr_linenumber" name="L494" href="#L494">494</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
+<a class="jxr_linenumber" name="L495" href="#L495">495</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L496" href="#L496">496</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getRemotePort() {
+<a class="jxr_linenumber" name="L497" href="#L497">497</a> <strong
class="jxr_keyword">return</strong> _socket_.getPort();
+<a class="jxr_linenumber" name="L498" href="#L498">498</a> }
+<a class="jxr_linenumber" name="L499" href="#L499">499</a>
+<a class="jxr_linenumber" name="L500" href="#L500">500</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L501" href="#L501">501</a> <em
class="jxr_javadoccomment"> * Gets the current sendBuffer size</em>
+<a class="jxr_linenumber" name="L502" href="#L502">502</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L503" href="#L503">503</a> <em
class="jxr_javadoccomment"> * @return the size, or -1 if not
initialized</em>
+<a class="jxr_linenumber" name="L504" href="#L504">504</a> <em
class="jxr_javadoccomment"> * @since 3.0</em>
+<a class="jxr_linenumber" name="L505" href="#L505">505</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L506" href="#L506">506</a> <strong
class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong>
getSendBufferSize() {
+<a class="jxr_linenumber" name="L507" href="#L507">507</a> <strong
class="jxr_keyword">return</strong> sendBufferSize;
+<a class="jxr_linenumber" name="L508" href="#L508">508</a> }
+<a class="jxr_linenumber" name="L509" href="#L509">509</a>
+<a class="jxr_linenumber" name="L510" href="#L510">510</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L511" href="#L511">511</a> <em
class="jxr_javadoccomment"> * Gets the underlying {@link
ServerSocketFactory}</em>
+<a class="jxr_linenumber" name="L512" href="#L512">512</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L513" href="#L513">513</a> <em
class="jxr_javadoccomment"> * @return The server socket factory</em>
+<a class="jxr_linenumber" name="L514" href="#L514">514</a> <em
class="jxr_javadoccomment"> * @since 2.2</em>
+<a class="jxr_linenumber" name="L515" href="#L515">515</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L516" href="#L516">516</a> <strong
class="jxr_keyword">public</strong> ServerSocketFactory
getServerSocketFactory() {
+<a class="jxr_linenumber" name="L517" href="#L517">517</a> <strong
class="jxr_keyword">return</strong> _serverSocketFactory_;
+<a class="jxr_linenumber" name="L518" href="#L518">518</a> }
+<a class="jxr_linenumber" name="L519" href="#L519">519</a>
+<a class="jxr_linenumber" name="L520" href="#L520">520</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L521" href="#L521">521</a> <em
class="jxr_javadoccomment"> * Returns the current SO_LINGER timeout of the
currently opened socket.</em>
+<a class="jxr_linenumber" name="L522" href="#L522">522</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L523" href="#L523">523</a> <em
class="jxr_javadoccomment"> * @return The current SO_LINGER timeout. If
SO_LINGER is disabled returns -1.</em>
+<a class="jxr_linenumber" name="L524" href="#L524">524</a> <em
class="jxr_javadoccomment"> * @throws SocketException If the operation
fails.</em>
+<a class="jxr_linenumber" name="L525" href="#L525">525</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
+<a class="jxr_linenumber" name="L526" href="#L526">526</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L527" href="#L527">527</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getSoLinger() <strong class="jxr_keyword">throws</strong> SocketException {
+<a class="jxr_linenumber" name="L528" href="#L528">528</a> <strong
class="jxr_keyword">return</strong> _socket_.getSoLinger();
+<a class="jxr_linenumber" name="L529" href="#L529">529</a> }
+<a class="jxr_linenumber" name="L530" href="#L530">530</a>
+<a class="jxr_linenumber" name="L531" href="#L531">531</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L532" href="#L532">532</a> <em
class="jxr_javadoccomment"> * Returns the timeout in milliseconds of the
currently opened socket.</em>
+<a class="jxr_linenumber" name="L533" href="#L533">533</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L534" href="#L534">534</a> <em
class="jxr_javadoccomment"> * @return The timeout in milliseconds of the
currently opened socket.</em>
+<a class="jxr_linenumber" name="L535" href="#L535">535</a> <em
class="jxr_javadoccomment"> * @throws SocketException If the operation
fails.</em>
+<a class="jxr_linenumber" name="L536" href="#L536">536</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
+<a class="jxr_linenumber" name="L537" href="#L537">537</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L538" href="#L538">538</a> <strong
class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong>
getSoTimeout() <strong class="jxr_keyword">throws</strong> SocketException {
+<a class="jxr_linenumber" name="L539" href="#L539">539</a> <strong
class="jxr_keyword">return</strong> _socket_.getSoTimeout();
+<a class="jxr_linenumber" name="L540" href="#L540">540</a> }
+<a class="jxr_linenumber" name="L541" href="#L541">541</a>
+<a class="jxr_linenumber" name="L542" href="#L542">542</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L543" href="#L543">543</a> <em
class="jxr_javadoccomment"> * Returns true if Nagle's algorithm is enabled
on the currently opened socket.</em>
+<a class="jxr_linenumber" name="L544" href="#L544">544</a> <em
class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L545" href="#L545">545</a> <em
class="jxr_javadoccomment"> * @return True if Nagle's algorithm is enabled
on the currently opened socket, false otherwise.</em>
+<a class="jxr_linenumber" name="L546" href="#L546">546</a> <em
class="jxr_javadoccomment"> * @throws SocketException If the operation
fails.</em>
+<a class="jxr_linenumber" name="L547" href="#L547">547</a> <em
class="jxr_javadoccomment"> * @throws NullPointerException if the socket is
not currently open</em>
+<a class="jxr_linenumber" name="L548" href="#L548">548</a> <em
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L549" href="#L549">549</a> <strong
class="jxr_keyword">public</strong> <strong
class="jxr_keyword">boolean</strong> getTcpNoDelay() <strong
class="jxr_keyword">throws</strong> SocketException {
+<a class="jxr_linenumber" name="L550" href="#L550">550</a> <strong
class="jxr_keyword">return</strong> _socket_.getTcpNoDelay();
+<a class="jxr_linenumber" name="L551" href="#L551">551</a> }
+<a class="jxr_linenumber" name="L552" href="#L552">552</a>
+<a class="jxr_linenumber" name="L553" href="#L553">553</a> <em
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L554" href="#L554">554</a> <em
class="jxr_javadoccomment"> * Make various checks on the socket to test if
it is available for use. Note that the only sure test is to use it, but these
checks may help in some cases.</em>
+<a class="jxr_linenumber" name="L555" href="#L555">555</a> <em
class="jxr_javadoccomment"> *</em>
[... 256 lines stripped ...]