Подстановочные знаки и регулярные выражения — это два разных языка шаблонов. Тот факт, что в семантике некоторых паттернов есть некоторое совпадение, не означает, что один обязательно является «диалектом» другого. Все, кто использовал оба, признают сходство, но сохранение различий в именах снижает вероятность путаницы.
В связи с этим я нахожу прискорбным, что так много типов регулярных выражений (, по крайней мере, основных, расширенных и Perl с вариациями )имеют очень похожие имена. По моему опыту, большинство людей не уточняют, что они имеют в виду, что иногда вызывает ненужную путаницу. Если бы этим вкусам дали более отчетливые названия, возможно, было бы легче говорить о них без недоразумений.
Наличие цели входящего соединения не мешает netcat отправлять данные. После подключения клиент может как отправлять данные, так и получать данные от клиента. В этом случае он отправляет данные клиенту Flink.
nc -l 9000
в примере действует как сервер. Приложение Flink подключается к этому серверу и ожидает ввода. Обратите внимание, что Flink запускается после выполнения команды nc
.
Теперь они подключены. Вы вводите несколько слов в nc
, и приложение Flink отвечает (, записывая в выходной файл ).
Тот факт, что вы используете nc -l
для отправки данных в приложение, может показаться немного обратным, но ничто не мешает nc
и Flink обмениваться данными таким образом.
nc -l <port>
определенно открывает <port>
и прослушивает соединения
Шаг 1:Откройте терминал и прослушайте его, выполнивnc -l 32000
Шаг 2:Откройте другой терминал и подключитесь к открытому порту с помощьюtelnet localhost 32000
Шаг 2a:Введите строки на любом из терминалов, и они будут отправлены прослушивателю на другом терминале.
Кроме того, запуск netstat после nc -l 32000
покажет статус соединения в качестве слушателя
netstat -atn | grep 32000
tcp4 0 0 *.32000 *.* LISTEN