Skip to content

Latest commit

 

History

History
91 lines (61 loc) · 3.55 KB

ethernetclient-class.markdown

File metadata and controls

91 lines (61 loc) · 3.55 KB

[К началу] | [Библиотека Ethernet]


Библиотека Ethernet

Класс EthernetClient

Класс EthernetClient служит основой для реализации собственного сетевого клиента. Также экземпляры этого класса связаны с клиентами объекта класса EthernetServer. Этот класс наследует от класса Client и реализует такие методы как begin(), write() и available(). Рассмотрим их подробней.

Конструктор EthernetClient()

Конструктор экземпляра класса EthernetClient представлен в двух экземплярах:

    EthernetClient();
    EthernetClient(uint8_t sock);

Во втором случае на вход конструктору подаётся номер сокета sock, который является целым числом от 0 до MAX_SOCK_NUM, который в нашем случае равен четырём. Если номер сокета не задан, то он назначается равным MAX_SOCK_NUM.

Метод connect()

Метод connect() ...

Метод available()

Метод available() возвращает количество байт, доступных для чтения из сервера, к которому он подключён.

    virtual int available();

Метод write()

Метод write() ...

Метод print()

Метод print() унаследован от класса Print и подробно описывается в соответствующей главе. Этот метод позволяет отправлять серверу данные различных типов: строки, символы, целые числа различной разрядности и числа с плавающей точкой, а также объекты с интерфейсом Printable.

Метод println()

Метод println() также унаследован от класса Print и делает всё тоже, что и метод print(), только добавляет в конец данных символ \n. Метод реализован как обёртка вокруг print(). В некоторых случаях целесообразнее с точки зрения производительности использовать метод print() вместо println(), просто добавляя в конец данных символ \n.

Пример

Ниже приведён пример простейшего сервера, который слушает порт 23 (telnet), читает, что ему передаёт клиент, и возвращает ему это обратно.

	#include <SPI.h>
	#include <Ethernet.h>

	byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
	byte ip[] = { 192, 168, 1, 10 };

	EthernetServer server = EthernetServer(23);

	void setup() {
  		Ethernet.begin(mac, ip);
  		server.begin();
	}

	void loop() {
  		EthernetClient client = server.available();
  		if (client == true) {
    		server.write(client.read());
  		}
	}

[К началу] | [Библиотека Ethernet]


(c) 2015, Симоненко Евгений А. easimonenko@mail.ru