org.cybergarage.upnp.ssdp

## Class SSDPSearchResponseSocket

- java.lang.Object
- - org.cybergarage.upnp.ssdp.HTTPUSocket
  - - org.cybergarage.upnp.ssdp.SSDPSearchResponseSocket

- All Implemented Interfaces:
    Runnable

      public class SSDPSearchResponseSocket
      extends HTTPUSocket
      implements Runnable

  Socket for receiving SSDP search responses from UPnP devices.

  This class extends HTTPUSocket and implements Runnable to provide asynchronous handling of SSDP search responses. It listens for responses to M-SEARCH messages sent during device discovery operations.

  Key features:

  - Asynchronous response reception
  - SSDP search response parsing
  - Multi-threaded operation
  - Network interface binding
  - Control point notification

  This class is used by UPnP control points to receive responses from devices when performing device discovery searches. It runs in a separate thread to continuously listen for incoming search responses without blocking the main application.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SSDPSearchResponseSocket()`
    `SSDPSearchResponseSocket(String bindAddr, int port)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ControlPoint` | `getControlPoint()`
    `boolean` | `post(String addr, int port, SSDPSearchRequest req)`
    `boolean` | `post(String addr, int port, SSDPSearchResponse res)`
    `void` | `run()`
    `void` | `setControlPoint(ControlPoint ctrlp)`
    `void` | `start()`
    `void` | `stop()`

    - ### Methods inherited from class org.cybergarage.upnp.ssdp.HTTPUSocket

      `close, finalize, getDatagramSocket, getLocalAddress, getUDPSocket, open, open, open, post, receive, setLocalAddress, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### SSDPSearchResponseSocket

          public SSDPSearchResponseSocket()

    - #### SSDPSearchResponseSocket

          public SSDPSearchResponseSocket(String bindAddr,
                                          int port)

  - ### Method Detail

    - #### getControlPoint

          public ControlPoint getControlPoint()

    - #### post

          public boolean post(String addr,
                              int port,
                              SSDPSearchRequest req)

    - #### post

          public boolean post(String addr,
                              int port,
                              SSDPSearchResponse res)

    - #### run

          public void run()

      Specified by:
        `run` in interface `Runnable`

    - #### setControlPoint

          public void setControlPoint(ControlPoint ctrlp)

    - #### start

          public void start()

    - #### stop

          public void stop()