API java : ServerSocketChannel


java.nio.channels
Class ServerSocketChannel

java.lang.Object
  extended by java.nio.channels.spi.AbstractInterruptibleChannel
      extended by java.nio.channels.SelectableChannel
          extended by java.nio.channels.spi.AbstractSelectableChannel
              extended by java.nio.channels.ServerSocketChannel
All Implemented Interfaces:
Closeable, Channel, InterruptibleChannel

public abstract class ServerSocketChannel
extends AbstractSelectableChannel

A selectable channel for stream-oriented listening sockets.

Server-socket channels are not a complete abstraction of listening network sockets. Binding and the manipulation of socket options must be done through an associated ServerSocket object obtained by invoking the socket method. It is not possible to create a channel for an arbitrary, pre-existing server socket, nor is it possible to specify the SocketImpl object to be used by a server socket associated with a server-socket channel.

A server-socket channel is created by invoking the open method of this class. A newly-created server-socket channel is open but not yet bound. An attempt to invoke the accept method of an unbound server-socket channel will cause a NotYetBoundException to be thrown. A server-socket channel can be bound by invoking one of the bind methods of an associated server socket.

Server-socket channels are safe for use by multiple concurrent threads.

Since:
1.4

Constructor Summary
protected ServerSocketChannel(SelectorProvider provider)
          Initializes a new instance of this class.
 
Method Summary
abstract  SocketChannel accept()
          Accepts a connection made to this channel's socket.
static ServerSocketChannel open()
          Opens a server-socket channel.
abstract  ServerSocket socket()
          Retrieves a server socket associated with this channel.
 int validOps()
          Returns an operation set identifying this channel's supported operations.
 
Methods inherited from class java.nio.channels.spi.AbstractSelectableChannel
blockingLock, configureBlocking, implCloseChannel, implCloseSelectableChannel, implConfigureBlocking, isBlocking, isRegistered, keyFor, provider, register
 
Methods inherited from class java.nio.channels.SelectableChannel
register
 
Methods inherited from class java.nio.channels.spi.AbstractInterruptibleChannel
begin, close, end, isOpen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.nio.channels.Channel
close, isOpen
 

Constructor Detail

ServerSocketChannel

protected ServerSocketChannel(SelectorProvider provider)
Initializes a new instance of this class.

Method Detail

open

public static ServerSocketChannel open()
                                throws IOException
Opens a server-socket channel.

The new channel is created by invoking the openServerSocketChannel method of the system-wide default SelectorProvider object.

The new channel's socket is initially unbound; it must be bound to a specific address via one of its socket's bind methods before connections can be accepted.

Returns:
A new socket channel
Throws:
IOException - If an I/O error occurs

validOps

public final int validOps()
Returns an operation set identifying this channel's supported operations.

Server-socket channels only support the accepting of new connections, so this method returns SelectionKey.OP_ACCEPT.

Specified by:
validOps in class SelectableChannel
Returns:
The valid-operation set

socket

public abstract ServerSocket socket()
Retrieves a server socket associated with this channel.

The returned object will not declare any public methods that are not declared in the ServerSocket class.

Returns:
A server socket associated with this channel

accept

public abstract SocketChannel accept()
                              throws IOException
Accepts a connection made to this channel's socket.

If this channel is in non-blocking mode then this method will immediately return null if there are no pending connections. Otherwise it will block indefinitely until a new connection is available or an I/O error occurs.

The socket channel returned by this method, if any, will be in blocking mode regardless of the blocking mode of this channel.

This method performs exactly the same security checks as the accept method of the ServerSocket class. That is, if a security manager has been installed then for each new connection this method verifies that the address and port number of the connection's remote endpoint are permitted by the security manager's checkAccept method.

Returns:
The socket channel for the new connection, or null if this channel is in non-blocking mode and no connection is available to be accepted
Throws:
ClosedChannelException - If this channel is closed
AsynchronousCloseException - If another thread closes this channel while the accept operation is in progress
ClosedByInterruptException - If another thread interrupts the current thread while the accept operation is in progress, thereby closing the channel and setting the current thread's interrupt status
NotYetBoundException - If this channel's socket has not yet been bound
SecurityException - If a security manager has been installed and it does not permit access to the remote endpoint of the new connection
IOException - If some other I/O error occurs

Ces informations proviennent du site de http://java.sun.com

Remarques

Contenu

Le contenu de cette page provient du site de Sun, et est généré depuis un cache sur l'infobrol après certains traitements automatisés. La présentation peut donc différer du document original, mais le contenu aussi. Vous pouvez utiliser ce bouton pour afficher la page originale du site de Sun :

Quels sont les motivations de cette démarche?

Maintenir les pages en cache sur différents sites peut offrir plus de disponibilité.

Chaque page est indexée dans la base de donnée, ce qui permet de retrouver facilement les informations, au moyen des sommaires, du moteur de recherche interne, etc.

Des facilités sont mises en place pour que les membres de l'infobrol puissent effectuer des traductions en français des différents documents. Ceci devrait permettre aux débutants en programmation Java de consulter les API en français s'ils maîtrisent moins bien la langue de Shakespeare. Dans le cas où une traduction a été soumise, elle est disponible au moyen d'un lien en bas de page. Si la traduction a été validée, la page s'affiche par défaut en français, et un lien en bas de page permet d'atteindre la version en anglais.

Le code sur l'infobrol est automatiquement coloré selon la syntaxe, et les différents mots clés sont transformés en liens pour accéder rapidement aux informations.

Vous avez la possibilité de partager vos expériences en proposant vos propres extraits de code en utilisant le bouton "ajouter un commentaire" en bas de page. Si vous visitez simplement l'infobrol, vous avez déjà accès à cette fonction, mais si vous étes membre du brol, vous pouvez en plus utiliser des boutons supplémentaires de mise en forme, dont la coloration automatique de vos extraits de codes.

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

7 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-2410
Document créé le 30/08/06 21:12, dernière modification le Vendredi 17 Juin 2011, 12:12
Source du document imprimé : http://www.gaudry.be/java-api-rf-java/nio/channels/ServerSocketChannel.html Document affiché 1 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,40 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Les experts sont formels et unanimes : en règle générale, l'ordinateur le mieux adapté à vos besoins est commercialisé environ deux jours après que vous ayez acheté un autre modèle !

Dave Barry
 
l'infobrol
Nous sommes le Vendredi 01 Juin 2012, 21:42, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)