uTools-Manuals/docs/java/javax/net/SocketFactory.html

450 lines
22 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact1, compact2, compact3
</div>
<div class="subTitle">
javax.net
</div>
<h2 class="title" title="Class SocketFactory">Class SocketFactory</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.net.SocketFactory</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
已知直接子类:
</dt>
<dd>
<span><a href="../../javax/net/ssl/SSLSocketFactory.html" title="javax.net.ssl中的类">SSLSocketFactory</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">SocketFactory</span>
extends <a href="../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<span>这个类创建套接字。</span>
<span>它可能由其他工厂进行子类化,这些工厂创建了套接字的特定子类,从而为添加公共套接字级功能提供了一个通用框架。</span>
<p> <span>套接字工厂是捕获与正在构建的套接字有关的各种策略的简单方法,以不需要特殊配置代码的方式生成这样的套接字:</span> </p>
<ul>
<li> <span>由于工厂和套接字的多态性,不同种类的套接字可以通过相同的应用程序代码传递给不同种类的工厂。</span> </li>
<li> <span>工厂本身可以根据插座施工中使用的参数进行定制。</span> <span>因此,例如,可以定制工厂来返回具有不同网络超时或已配置的安全参数的套接字。</span> </li>
<li> <span>返回到应用程序的套接字可以是java.net.Socket的子类因此它们可以直接公开新的API例如压缩安全性记录标记统计信息收集或防火墙隧道等功能。</span> </li>
</ul>
<p> <span>工厂类由环境特定的配置机制指定。</span> <span>例如, <em>getDefault</em>方法可以返回适合于特定用户或小程序的工厂,并且框架可以使用为自己的目的定制的工厂。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../javax/net/ServerSocketFactory.html" title="javax.net中的类"><code>ServerSocketFactory</code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/net/SocketFactory.html#SocketFactory--">SocketFactory</a></span>()</code>
<div class="block">
创建一个
<code>SocketFactory</code>
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t1"><span><a href="javascript:show(1);">静态方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="../../java/net/Socket.html" title="class in java.net">Socket</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/net/SocketFactory.html#createSocket--">createSocket</a></span>()</code>
<div class="block">
创建一个未连接的套接字。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>abstract <a href="../../java/net/Socket.html" title="class in java.net">Socket</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/net/SocketFactory.html#createSocket-java.net.InetAddress-int-">createSocket</a></span>(<a href="../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> host, int port)</code>
<div class="block">
创建套接字并将其连接到指定地址处的指定端口号。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>abstract <a href="../../java/net/Socket.html" title="class in java.net">Socket</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/net/SocketFactory.html#createSocket-java.net.InetAddress-int-java.net.InetAddress-int-">createSocket</a></span>(<a href="../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> address, int port, <a href="../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> localAddress, int localPort)</code>
<div class="block">
创建套接字并将其连接到指定远程端口上指定的远程地址。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>abstract <a href="../../java/net/Socket.html" title="class in java.net">Socket</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/net/SocketFactory.html#createSocket-java.lang.String-int-">createSocket</a></span>(<a href="../../java/lang/String.html" title="class in java.lang">String</a> host, int port)</code>
<div class="block">
创建套接字并将其连接到指定的远程端口上的指定远程主机。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>abstract <a href="../../java/net/Socket.html" title="class in java.net">Socket</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/net/SocketFactory.html#createSocket-java.lang.String-int-java.net.InetAddress-int-">createSocket</a></span>(<a href="../../java/lang/String.html" title="class in java.lang">String</a> host, int port, <a href="../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> localHost, int localPort)</code>
<div class="block">
创建套接字并将其连接到指定远程端口上的指定远程主机。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>static <a href="../../javax/net/SocketFactory.html" title="class in javax.net">SocketFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/net/SocketFactory.html#getDefault--">getDefault</a></span>()</code>
<div class="block">
返回环境默认套接字工厂的副本。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../java/lang/Object.html#clone--">clone</a>, <a href="../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../java/lang/Object.html#notify--">notify</a>, <a href="../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../java/lang/Object.html#toString--">toString</a>, <a href="../../java/lang/Object.html#wait--">wait</a>, <a href="../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="SocketFactory--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>SocketFactory</h4> <pre>protected SocketFactory()</pre>
<div class="block">
创建一个
<code>SocketFactory</code>
</div> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getDefault--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDefault</h4> <pre>public static <a href="../../javax/net/SocketFactory.html" title="class in javax.net">SocketFactory</a> getDefault()</pre>
<div class="block">
返回环境默认套接字工厂的副本。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
默认为
<code>SocketFactory</code>
</dd>
</dl> </li>
</ul> <a name="createSocket--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createSocket</h4> <pre>public <a href="../../java/net/Socket.html" title="class in java.net">Socket</a> createSocket()
throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
创建一个未连接的套接字。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
未连接的插座
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果无法创建套接字
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../java/net/Socket.html#connect-java.net.SocketAddress-"><code>Socket.connect(java.net.SocketAddress)</code></a>
<a href="../../java/net/Socket.html#connect-java.net.SocketAddress-int-"><code>Socket.connect(java.net.SocketAddress, int)</code></a>
<a href="../../java/net/Socket.html#Socket--"><code>Socket.Socket()</code></a>
</dd>
</dl> </li>
</ul> <a name="createSocket-java.lang.String-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createSocket</h4> <pre>public abstract <a href="../../java/net/Socket.html" title="class in java.net">Socket</a> createSocket(<a href="../../java/lang/String.html" title="class in java.lang">String</a> host,
int port)
throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a>,
<a href="../../java/net/UnknownHostException.html" title="class in java.net">UnknownHostException</a></pre>
<div class="block">
<span>创建套接字并将其连接到指定的远程端口上的指定远程主机。</span>
<span>此插座使用为此工厂建立的插座选项进行配置。</span>
<p> <span>如果有一个安全管理器,它的<code>checkConnect</code>方法被调用主机地址和<code>port</code>作为其参数。</span> <span>这可能会导致SecurityException。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>host</code> - 用于连接的服务器主机名,或
<code>null</code>的环回地址。
</dd>
<dd>
<code>port</code> - 服务器端口
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>Socket</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果在创建套接字时发生I / O错误
</dd>
<dd>
<code><a href="../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果安全管理器存在,并且其
<code>checkConnect</code>方法不允许该操作。
</dd>
<dd>
<code><a href="../../java/net/UnknownHostException.html" title="class in java.net">UnknownHostException</a></code> - 如果主机不知道
</dd>
<dd>
<code><a href="../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果端口参数超出指定范围的有效端口值介于0和65535之间包括0和65535之间。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../java/lang/SecurityManager.html#checkConnect-java.lang.String-int-"><code>SecurityManager.checkConnect(java.lang.String, int)</code></a>
<a href="../../java/net/Socket.html#Socket-java.lang.String-int-"><code>Socket.Socket(String, int)</code></a>
</dd>
</dl> </li>
</ul> <a name="createSocket-java.lang.String-int-java.net.InetAddress-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createSocket</h4> <pre>public abstract <a href="../../java/net/Socket.html" title="class in java.net">Socket</a> createSocket(<a href="../../java/lang/String.html" title="class in java.lang">String</a> host,
int port,
<a href="../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> localHost,
int localPort)
throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a>,
<a href="../../java/net/UnknownHostException.html" title="class in java.net">UnknownHostException</a></pre>
<div class="block">
<span>创建套接字并将其连接到指定远程端口上的指定远程主机。</span>
<span>套接字也将绑定到本地提供的地址和端口。</span>
<span>此插座使用为此工厂建立的插座选项进行配置。</span>
<p> <span>如果有一个安全管理器,它的<code>checkConnect</code>方法被调用主机地址和<code>port</code>作为其参数。</span> <span>这可能会导致SecurityException。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>host</code> - 用于连接的服务器主机名,或
<code>null</code>的环回地址。
</dd>
<dd>
<code>port</code> - 服务器端口
</dd>
<dd>
<code>localHost</code> - 套接字所绑定的本地地址
</dd>
<dd>
<code>localPort</code> - 套接字绑定的本地端口
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>Socket</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果在创建套接字时发生I / O错误
</dd>
<dd>
<code><a href="../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果安全管理器存在,并且其
<code>checkConnect</code>方法不允许操作。
</dd>
<dd>
<code><a href="../../java/net/UnknownHostException.html" title="class in java.net">UnknownHostException</a></code> - 如果主机不知道
</dd>
<dd>
<code><a href="../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果端口参数或localPort参数在超出指定范围的有效端口值介于0和65535之间包括0和65535之间。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../java/lang/SecurityManager.html#checkConnect-java.lang.String-int-"><code>SecurityManager.checkConnect(java.lang.String, int)</code></a>
<a href="../../java/net/Socket.html#Socket-java.lang.String-int-java.net.InetAddress-int-"><code>Socket.Socket(String, int, java.net.InetAddress, int)</code></a>
</dd>
</dl> </li>
</ul> <a name="createSocket-java.net.InetAddress-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createSocket</h4> <pre>public abstract <a href="../../java/net/Socket.html" title="class in java.net">Socket</a> createSocket(<a href="../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> host,
int port)
throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>创建套接字并将其连接到指定地址处的指定端口号。</span>
<span>此插座使用为此工厂建立的插座选项进行配置。</span>
<p> <span>如果有一个安全管理器,它的<code>checkConnect</code>方法被调用主机地址和<code>port</code>作为其参数。</span> <span>这可能会导致SecurityException。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>host</code> - 服务器主机
</dd>
<dd>
<code>port</code> - 服务器端口
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>Socket</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果在创建套接字时发生I / O错误
</dd>
<dd>
<code><a href="../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果安全管理器存在,并且其
<code>checkConnect</code>方法不允许操作。
</dd>
<dd>
<code><a href="../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果端口参数超出了有效端口值的指定范围介于0和65535之间包括0和65535之间。
</dd>
<dd>
<code><a href="../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>host</code>为空。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../java/lang/SecurityManager.html#checkConnect-java.lang.String-int-"><code>SecurityManager.checkConnect(java.lang.String, int)</code></a>
<a href="../../java/net/Socket.html#Socket-java.net.InetAddress-int-"><code>Socket.Socket(java.net.InetAddress, int)</code></a>
</dd>
</dl> </li>
</ul> <a name="createSocket-java.net.InetAddress-int-java.net.InetAddress-int-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>createSocket</h4> <pre>public abstract <a href="../../java/net/Socket.html" title="class in java.net">Socket</a> createSocket(<a href="../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> address,
int port,
<a href="../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> localAddress,
int localPort)
throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>创建套接字并将其连接到指定远程端口上指定的远程地址。</span>
<span>套接字也将绑定到本地地址和端口suplied。</span>
<span>插座使用为此工厂建立的插座选项进行配置。</span>
<p> <span>如果有一个安全管理器,它的<code>checkConnect</code>方法被调用主机地址和<code>port</code>作为其参数。</span> <span>这可能会导致SecurityException。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>address</code> - 服务器网络地址
</dd>
<dd>
<code>port</code> - 服务器端口
</dd>
<dd>
<code>localAddress</code> - 客户端网络地址
</dd>
<dd>
<code>localPort</code> - 客户端口
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>Socket</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果在创建套接字时发生I / O错误
</dd>
<dd>
<code><a href="../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果安全管理器存在,并且其
<code>checkConnect</code>方法不允许操作。
</dd>
<dd>
<code><a href="../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果端口参数或localPort参数超出有效端口值的指定范围介于0和65535之间包括0和65535之间。
</dd>
<dd>
<code><a href="../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>address</code>为空。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../java/lang/SecurityManager.html#checkConnect-java.lang.String-int-"><code>SecurityManager.checkConnect(java.lang.String, int)</code></a>
<a href="../../java/net/Socket.html#Socket-java.net.InetAddress-int-java.net.InetAddress-int-"><code>Socket.Socket(java.net.InetAddress, int, java.net.InetAddress, int)</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>