Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке Ruby.docx
Скачиваний:
19
Добавлен:
06.09.2019
Размер:
1.74 Mб
Скачать

Листинг 18.3. Протокол сеанса шахматной игры

% ruby chess.rb Hal                      % ruby chess.rb

Capablanca:deepthought.org               Hal:deepdoodoo.org

Устанавливается соединение...            Устанавливается соединение...

Ваш противник Capablanca... у вас белые. Ваш противник Hal... у вас черные.

+------------------------------+         +------------------------------+

| Заглушка! Шахматная доска... |         | Заглушка! Шахматная доска... |

+------------------------------+         +------------------------------+

Ваш ход: N-QB3                           Противник: N-QB3

+------------------------------+         +------------------------------+

| Заглушка! Шахматная доска... |         | Заглушка! Шахматная доска... |

+------------------------------+         +------------------------------+

Противник: P-K4                          Ваш ход: P-K4

+------------------------------+         +------------------------------+

| Заглушка! Шахматная доска... |         | Заглушка! Шахматная доска... |

+------------------------------+         +------------------------------+

Ваш ход: P-K4                            Противник: P-K4

+------------------------------+         +------------------------------+

| Заглушка! Шахматная доска... |         | Заглушка! Шахматная доска... |

+------------------------------+         +------------------------------+

Противник: B-QB4                         Ваш ход: B-QB4

+------------------------------+         +------------------------------+

| Заглушка! Шахматная доска... |         | Заглушка! Шахматная доска... |

+------------------------------+         +------------------------------+

Ваш ход: B-QB4                           Противник: B-QB4

+------------------------------+         +------------------------------+

| Заглушка! Шахматная доска... |         | Заглушка! Шахматная доска... +

+------------------------------+         +------------------------------+

Противник: Q-KR5                         Ваш ход: Q-KR5

+------------------------------+         +------------------------------+

| Заглушка! Шахматная доска... |         | Заглушка! Шахматная доска... |

+------------------------------+         +------------------------------+

Ваш ход: N-KB3                           Противник: N-KB3

+------------------------------+         +------------------------------+

| Заглушка! Шахматная доска... |         | Заглушка! Шахматная доска... |

+------------------------------+         +------------------------------+

Противник: QxP Checkmate!                Ваш ход: QxP

+------------------------------+         +------------------------------+

| Заглушка! Шахматная доска... |         | Заглушка! Шахматная доска... |

+------------------------------+         +------------------------------+

Capablanca поставил вам мат.             Вы поставили мат Hal!

18.2. Сетевые клиенты

Иногда сервер пользуется хорошо известным протоколом — тогда нам надо лишь спроектировать клиента, который общается с сервером на понятном тому языке.

В разделе 18.1 мы видели, что это можно сделать с помощью протоколов TCP или UDP. Но чаще применяются протоколы более высокого уровня, например HTTP или SNMP. Рассмотрим несколько примеров.