mirror of
				https://github.com/esp8266/Arduino.git
				synced 2025-10-31 15:50:55 +03:00 
			
		
		
		
	Fixes #5116 Fixes #2743 The Arduino WiFiClient object allows sending the same packet to all connected clients of a WiFiServer. In their implementation it may make sense, but on the 8266 with things like SSL it doesn't. Update the docs to note that WiFiServer::write() is a no-op, and that the app should use the WiFiCliebnt::write() on all connected clients as appropriate.
		
			
				
	
	
		
			61 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| :orphan:
 | |
| 
 | |
| Server Class
 | |
| ------------
 | |
| 
 | |
| Methods documented for the `Server Class <https://www.arduino.cc/en/Reference/WiFiServerConstructor>`__ in `Arduino <https://github.com/arduino/Arduino>`__
 | |
| 
 | |
| 1. `WiFiServer() <https://www.arduino.cc/en/Reference/WiFiServer>`__
 | |
| 2. `begin() <https://www.arduino.cc/en/Reference/WiFiServerBegin>`__
 | |
| 3. `available() <https://www.arduino.cc/en/Reference/WiFiServerAvailable>`__
 | |
| 4. `write() <https://www.arduino.cc/en/Reference/WiFiServerWrite>`__
 | |
| 5. `print() <https://www.arduino.cc/en/Reference/WiFiServerPrint>`__
 | |
| 6. `println() <https://www.arduino.cc/en/Reference/WiFiServerPrintln>`__
 | |
| 
 | |
| Methods and properties described further down are specific to ESP8266. They are not covered in `Arduino WiFi library <https://www.arduino.cc/en/Reference/WiFi>`__ documentation. Before they are fully documented please refer to information below.
 | |
| 
 | |
| write (write to all clients) not supported
 | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| Please note that the ``write`` method on the ``WiFiServer`` object is not implemented and returns failure always.  Use the returned
 | |
| ``WiFiClient`` object from the ``WiFiServer::available()`` method to communicate with individual clients.  If you need to send
 | |
| the exact same packets to a series of clients, your application must maintain a list of connected clients and iterate over them manually.
 | |
| 
 | |
| setNoDelay
 | |
| ~~~~~~~~~~
 | |
| 
 | |
| .. code:: cpp
 | |
| 
 | |
|     setNoDelay(nodelay)
 | |
| 
 | |
| With ``nodelay`` set to ``true``, this function will to disable `Nagle algorithm <https://en.wikipedia.org/wiki/Nagle%27s_algorithm>`__.
 | |
| 
 | |
| This algorithm is intended to reduce TCP/IP traffic of small packets sent over the network by combining a number of small outgoing messages, and sending them all at once. The downside of such approach is effectively delaying individual messages until a big enough packet is assembled.
 | |
| 
 | |
| *Example:*
 | |
| 
 | |
| .. code:: cpp
 | |
| 
 | |
|     server.begin();
 | |
|     server.setNoDelay(true);
 | |
| 
 | |
| By default, ``nodelay`` value will depends on global ``WiFiClient::getDefaultNoDelay()`` (currently false by default).
 | |
| 
 | |
| However, a call to ``wiFiServer.setNoDelay()`` will override ``NoDelay`` for all new ``WiFiClient`` provided by the calling instance (``wiFiServer``).
 | |
| 
 | |
| Other Function Calls
 | |
| ~~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| .. code:: cpp
 | |
| 
 | |
|     bool  hasClient () 
 | |
|     bool  getNoDelay () 
 | |
|     virtual size_t  write (const uint8_t *buf, size_t size) 
 | |
|     uint8_t  status () 
 | |
|     void  close () 
 | |
|     void  stop ()
 | |
| 
 | |
| Documentation for the above functions is not yet prepared.
 | |
| 
 | |
| For code samples please refer to separate section with `examples <server-examples.rst>`__ dedicated specifically to the Server Class.
 |