nsIServerSocket 编辑

The nsIServerSocket interface implements a server socket that can accept incoming connections.

netwerk/base/public/nsIServerSocket.idlScriptable Please add a summary to this article.   Last changed in Gecko 1.6

Inherits from: nsISupports

Implemented by: @mozilla.org/network/server-socket;1. To create an instance, use:

var serverSocket = Components.classes["@mozilla.org/network/server-socket;1"]
                             .createInstance(Components.interfaces.nsIServerSocket);

Method overview

void init(in long aPort, in boolean aLoopbackOnly, in long aBackLog);
void initWithAddress([const] in PRNetAddrPtr aAddr, in long aBackLog);Native code only!
void close();
void asyncListen(in nsIServerSocketListener aListener);
PRNetAddr getAddress();Native code only!

Attributes

AttributeTypeDescription
portlongReturns the port of this server socket. Read only.

Methods

asyncListen()

This method puts the server socket in the listening state. It will asynchronously listen for and accept client connections. The listener will be notified once for each client connection that is accepted. The listener's onSocketAccepted() method will be called on the same thread that called asyncListen() (the calling thread must have an nsIEventTarget).

The listener will be passed a reference to an already connected socket transport (nsISocketTransport). See nsIServerSocketListener for more details.

void asyncListen(
  in nsIServerSocketListener aListener
);
Parameters
aListener
The listener to be notified when client connections are accepted.

close()

This method closes a server socket. This does not affect already connected client sockets (i.e., the nsISocketTransport instances created from this server socket). This will cause the onStopListening event to asynchronously fire with a status of NS_BINDING_ABORTED.

void close();
Parameters

None.

Native code only!

getAddress

Returns the address to which this server socket is bound. Since a server socket may be bound to multiple network devices, this address may not necessarily be specific to a single network device. In the case of an IP socket, the IP address field would be zeroed out to indicate a server socket bound to all network devices.  Therefore, this method cannot be used to determine the IP address of the local system. See nsIDNSService.myHostName() if this is what you need.

PRNetAddr getAddress();
Parameters

None.

Return value

The network address to which the socket is bound.

init()

Initializes a server socket.

void init(
  in long aPort,
  in boolean aLoopbackOnly,
  in long aBackLog
);
Parameters
aPort
The port of the server socket. Pass -1 to indicate no preference, and a port will be selected automatically.
aLoopbackOnly
If true, the server socket will only respond to connections on the local loopback interface. Otherwise, it will accept connections from any interface. To specify a particular network interface, use initWithAddress().
aBackLog
The maximum length to which the queue of pending connections may grow. This parameter may be silently limited by the operating system. Pass -1 to use the default value. The default value is 5.
Native code only!

initWithAddress

This method initializes a server socket and binds it to a particular local address (and hence a particular local network interface).

void initWithAddress(
  [const] in PRNetAddrPtr aAddr,
  in long aBackLog
);
Parameters
aAddr
The address to which this server socket should be bound.
aBackLog
The maximum length the queue of pending connections may grow to. This parameter may be silently limited by the operating system. Pass -1 to use the default value. The default value is 5.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:73 次

字数:7049

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文