Сервер PPP в Windows

У нас есть решение, при котором некоторое оборудование подключается к COM-порту на компьютере с Win 7 и взаимодействует с нашим Java-приложением. Аппаратное обеспечение хочет использовать сервер PPP для прозрачного подключения к другому серверу по TCP/IP.

У кого-нибудь есть предложения как это сделать? Запустить собственный сервер PPP ОС из приложения Java с подключением к COM-порту? Как это сделать?

2 ответа

Вы можете быть удивлены, обнаружив, что Win7 все еще поддерживает PPP изначально.

Выполните эти шаги (или что-то подобное), и вы должны быть в основном хорошо идти. На самом деле я не выполнял PPP-соединение с Win98, может быть, с Win2k, но шаги выглядят очень похоже на то, что они им вернули. Это не просто, но это должно помочь вам на 80 или 90% пути (последние 10-20% будут обычными неприятными раздражениями при правильной настройке последовательного соединения - в последовательной связи слишком много опций и PPP для того, чтобы он прошел прямо с первой попытки подключения).

  • Открытая панель управления
  • Выберите "Телефон и модем". Если он спрашивает вас о местоположении, введите любую информацию, которая вам нужна, чтобы сделать это диалоговое окно счастливым (я думаю, что ему просто нужен код вашего региона, но, возможно, нет, или, возможно, другие вещи - не имеет значения, что мы не будем его использовать).
  • Скажите, что вы хотите установить модем, и не беспокойтесь, что если вы не сможете его найти - вы выберете его из списка.
  • Нажмите кнопку "Добавить" и скажите, чтобы не беспокоить ее автоматическое обнаружение
  • В разделе "(Стандартные типы модемов)" выберите "Кабель связи между двумя компьютерами".
  • скажи ему какой последовательный порт использовать

Теперь вам нужно настроить сетевой адаптер для соединения PPP

  • перейдите в "Центр управления сетями и общим доступом" панели управления
  • Нажмите "Установить новое подключение или сеть"
  • Выберите "Настройка коммутируемого соединения".
  • Если вас спросят о том, какой модем использовать, выберите "Кабель связи между двумя модемами компьютеров", который вы только что настроили (этого не должно произойти, если у вас на компьютере нет действующего модема).
  • Дайте диалоговому окну "Создать удаленное подключение" фиктивный номер телефона, чтобы он позволил вам продолжить... И дайте ему имя подключения, которое вам нравится, вместо "Удаленное подключение"
  • Нажмите "Подключиться" и он попробует набрать номер. Конечно, это не удастся. Нажмите "Все равно установить соединение"

Теперь настройте различные параметры PPP на новом сетевом адаптере:

  • Нажмите на ссылку "изменить настройки адаптера" на панели управления "Центр управления сетями и общим доступом".
  • Щелкните правой кнопкой мыши на сетевом адаптере, который вы только что создали ("Коммутируемое соединение" или любое другое имя, которое вы ему дали), и выберите "Свойства".
  • Настройте "Кабель связи между двумя компьютерами" (в основном это позволяет вам установить скорость). Просмотрите другие вкладки, чтобы найти различные другие опции, которые вам могут понадобиться контролировать. Не забудьте настроить свойства TCP/IPv4, которые могут вам понадобиться, на вкладке "Сеть". Если вы используете IPv6, убедитесь, что он тоже настроен.

Как только аппаратное устройство устанавливает PPP-соединение с COM-портом Win7, приложение Java должно иметь возможность обмениваться данными по каналу PPP, как если бы это был обычный сетевой адаптер. Удачи!

Это обходной путь с использованием VirtualBox. Я не могу понять, как запустить PPP-сервер на Win7.

pppd - Ubuntu ttyS0 - VirtualBox Порт 1 - Win7 COM1 - RS232 - целевой клиент ppp

  1. Подготовьте VirtualBox 5 и Ubuntu 16 в качестве гостевой ОС на Win7
  2. Перейдите в Настройки VirtualBox -> Последовательные порты -> Порт 1.
    • Проверить: Включить последовательный порт
    • Номер порта: COM1 IRQ: 4 Порт ввода-вывода: 0x3F8
    • Режим порта: хост-устройство
    • Проверка: подключение к существующей трубе / розетке
    • Путь / адрес: COM1
  3. Откройте терминал Ubuntu

    • sudo apt-config установить ppp
    • sudo apt-get install ppp
    • sudo stty -F /dev / ttyS0 raw
    • sudo stty -F /dev / ttyS0 -a
    • sudo pppd /dev / ttyS0 115200 192.168.17.1:192.168.17.2 proxyarp local noauth nodetach dump nocrtscts пассивное сохранение maxfail 0 удержание 1

    Действующие параметры pppd:
    nodetach # (из командной строки)
    holdoff 1 # (из командной строки)
    persist # (из командной строки)
    maxfail 0 # (из командной строки)
    dump # (из командной строки)
    noauth # (из командной строки)
    / dev / ttyS0 # (из командной строки)
    115200 # (из командной строки)
    # блокировки (из / etc / ppp / options)
    nocrtscts # (из командной строки)
    local # (из командной строки)
    asyncmap 0 # (из / etc / ppp / options)
    passive # (из командной строки)
    lcp-echo-failure 4 # (из / etc / ppp / options)
    lcp-echo-interval 30 # (из / etc / ppp / options)
    hide-password # (из / etc / ppp / options)
    proxyarp # (из командной строки)
    192.168.17.1:192.168.17.2 # (из командной строки)
    noipx # (из / etc / ppp / options)
    Использование интерфейса ppp0
    Connect: ppp0 <--> / dev / ttyS0
    Невозможно определить адрес Ethernet для
    локального IP-адреса прокси ARP 192.168.17.1
    удаленного IP-адреса 192.168.17.2

Использование Google на основе комментария @hari о javax.comm Я нашел учебник по TINI, который может быть полезен для ваших целей: руководство берет соединение PPP через COM-порт с библиотекой TINI в равной степени, как вы хотите.

Другие вопросы по тегам