Class WebSocket

java.lang.Object
org.htmlunit.corejs.javascript.ScriptableObject
All Implemented Interfaces:
Serializable, AutoCloseable, Cloneable, org.htmlunit.corejs.javascript.ConstProperties, org.htmlunit.corejs.javascript.debug.DebuggableObject, org.htmlunit.corejs.javascript.Scriptable, org.htmlunit.corejs.javascript.SymbolScriptable

public class WebSocket extends EventTarget implements AutoCloseable
A JavaScript object for WebSocket.
Author:
Ahmed Ashour, Ronald Brill, Madis Pärn
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    org.htmlunit.corejs.javascript.ScriptableObject.KeyComparator
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    The connection has been closed or could not be opened.
    static final int
    The connection is going through the closing handshake.
    static final int
    The connection has not yet been established.
    static final int
    The WebSocket connection is established and communication is possible.

    Fields inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST

    Fields inherited from interface org.htmlunit.corejs.javascript.Scriptable

    NOT_FOUND
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    void
    close(Object code, Object reason)
    Closes the WebSocket connection or connection attempt, if any.
     
    long
     
    org.htmlunit.corejs.javascript.Function
    Returns the event handler that fires on close.
    org.htmlunit.corejs.javascript.Function
    Returns the event handler that fires on error.
    org.htmlunit.corejs.javascript.Function
    Returns the event handler that fires on message.
    org.htmlunit.corejs.javascript.Function
    Returns the event handler that fires on open.
     
    int
    Returns The current state of the connection.
     
    static org.htmlunit.corejs.javascript.Scriptable
    jsConstructor(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, Object[] args, org.htmlunit.corejs.javascript.Function ctorObj, boolean inNewExpr)
    JavaScript constructor.
    void
    send(Object content)
    Transmits data to the server over the WebSocket connection.
    void
    Sets the used binary type.
    void
    setOnclose(org.htmlunit.corejs.javascript.Function closeHandler)
    Sets the event handler that fires on close.
    void
    setOnerror(org.htmlunit.corejs.javascript.Function errorHandler)
    Sets the event handler that fires on error.
    void
    setOnmessage(org.htmlunit.corejs.javascript.Function messageHandler)
    Sets the event handler that fires on message.
    void
    setOnopen(org.htmlunit.corejs.javascript.Function openHandler)
    Sets the event handler that fires on open.

    Methods inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, delete, delete, deleteProperty, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureSymbolScriptable, get, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getIds, getObjectPrototype, getOwnPropertyDescriptor, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, has, has, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, put, putConst, putConstProperty, putProperty, putProperty, putProperty, querySlot, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setAttributes, setCommonDescriptorProperties, setExternalArrayData, setGetterOrSetter, setPrototype, size

    Methods inherited from class Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • CONNECTING

      public static final int CONNECTING
      The connection has not yet been established.
      See Also:
    • OPEN

      public static final int OPEN
      The WebSocket connection is established and communication is possible.
      See Also:
    • CLOSING

      public static final int CLOSING
      The connection is going through the closing handshake.
      See Also:
    • CLOSED

      public static final int CLOSED
      The connection has been closed or could not be opened.
      See Also:
  • Constructor Details

    • WebSocket

      public WebSocket()
      Creates a new instance.
  • Method Details

    • jsConstructor

      public static org.htmlunit.corejs.javascript.Scriptable jsConstructor(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, Object[] args, org.htmlunit.corejs.javascript.Function ctorObj, boolean inNewExpr)
      JavaScript constructor.
      Parameters:
      cx - the current context
      scope - the scope
      args - the arguments to the WebSocket constructor
      ctorObj - the function object
      inNewExpr - Is new or not
      Returns:
      the java object to allow JavaScript to access
    • getOnclose

      public org.htmlunit.corejs.javascript.Function getOnclose()
      Returns the event handler that fires on close.
      Returns:
      the event handler that fires on close
    • setOnclose

      public void setOnclose(org.htmlunit.corejs.javascript.Function closeHandler)
      Sets the event handler that fires on close.
      Parameters:
      closeHandler - the event handler that fires on close
    • getOnerror

      public org.htmlunit.corejs.javascript.Function getOnerror()
      Returns the event handler that fires on error.
      Returns:
      the event handler that fires on error
    • setOnerror

      public void setOnerror(org.htmlunit.corejs.javascript.Function errorHandler)
      Sets the event handler that fires on error.
      Parameters:
      errorHandler - the event handler that fires on error
    • getOnmessage

      public org.htmlunit.corejs.javascript.Function getOnmessage()
      Returns the event handler that fires on message.
      Returns:
      the event handler that fires on message
    • setOnmessage

      public void setOnmessage(org.htmlunit.corejs.javascript.Function messageHandler)
      Sets the event handler that fires on message.
      Parameters:
      messageHandler - the event handler that fires on message
    • getOnopen

      public org.htmlunit.corejs.javascript.Function getOnopen()
      Returns the event handler that fires on open.
      Returns:
      the event handler that fires on open
    • setOnopen

      public void setOnopen(org.htmlunit.corejs.javascript.Function openHandler)
      Sets the event handler that fires on open.
      Parameters:
      openHandler - the event handler that fires on open
    • getReadyState

      public int getReadyState()
      Returns The current state of the connection. The possible values are: CONNECTING, OPEN, CLOSING or CLOSED.
      Returns:
      the current state of the connection
    • getUrl

      public String getUrl()
      Returns:
      the url
    • getProtocol

      public String getProtocol()
      Returns:
      the sub protocol used
    • getBufferedAmount

      public long getBufferedAmount()
      Returns:
      the sub protocol used
    • getBinaryType

      public String getBinaryType()
      Returns:
      the used binary type
    • setBinaryType

      public void setBinaryType(String type)
      Sets the used binary type.
      Parameters:
      type - the type
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Throws:
      IOException
    • close

      public void close(Object code, Object reason)
      Closes the WebSocket connection or connection attempt, if any. If the connection is already CLOSED, this method does nothing.
      Parameters:
      code - A numeric value indicating the status code explaining why the connection is being closed
      reason - A human-readable string explaining why the connection is closing
    • send

      public void send(Object content)
      Transmits data to the server over the WebSocket connection.
      Parameters:
      content - the body of the message being sent with the request