Ответ 1
Мы переместились в java-simple-serial-connector, который, кажется, очень стабилен и удобен в текущем выпуске 0.9.0. На данный момент он работает с окнами и системами Linux. Мы используем его для модемных взаимодействий.
После использования RXTX для ряда различных проектов я столкнулся с множеством досадных расхождений и проблем, которые могут быть разумно затронуты ошибками в библиотеке - тупиками, опасностями гонки и мониторинга потоков в глубине библиотеки RXTX (хотя все порты, которые я использовал, были закрыты!) Запуск последней "нестабильной" версии немного помог, но она все еще далека от того, где я бы назвал ее надежной, и деятельность по проекту в настоящее время кажется довольно низким.
Однако поиск бесплатных кросс-платформенных альтернатив RXTX, похоже, больше не приносит.
Есть ли другая библиотека, которую кто-то пытался с большей удачей? Мне не нужна поддержка параллельного порта, просто последовательная, и это необязательно должно быть совместимо с RXTX или API javax.comm
.
Мы переместились в java-simple-serial-connector, который, кажется, очень стабилен и удобен в текущем выпуске 0.9.0. На данный момент он работает с окнами и системами Linux. Мы используем его для модемных взаимодействий.
Здесь serial-comm.
Последовательная связь на Java - это беспорядок. У меня были проблемы с jSSC с виртуальным последовательным USB-интерфейсом в Linux, но с последовательным подключением.
RXTX - беспорядок.
По крайней мере, я думаю, что теперь этот вопрос SO имеет все, что стоит упомянуть о java-библиотеках последовательной связи.
Там несколько из них сейчас, теперь, когда Ардуино очень популярен.
Там Serialio
и PureJavaComm, но это довольно рано в разработке из того, что я вижу.
это действительно зависит от ваших потребностей. RXTX портирован практически везде, поэтому он широко доступен.
Одна из проблем RXTX, с которой я столкнулась, была задержка закрытия порта. При проверке с помощью seterial конфигурации порта я обнаружил параметр clos_delay = 3000. Это означает, что порт закрывается через 3 секунды после выполнения метода close(). RXTX игнорирует значение shut_delay для любого значения. RXTX настаивает на задержке в 3 секунды.
библиотека JSSC, выполненная с удовлетворением
Serialio lib - это $49/место для платформы/разработчика, которое дает вам неограниченное распространение в неограниченных приложениях, поэтому не слишком дорого. Библиотека Mac была стабильной и надежной для нас в нетребовательном приложении, а доступность/совместимость была хорошей для разных платформ Mac и выпусков OS/X.
Я использую socat, настроенный для обслуживания сокета для последовательного порта. Недостатком является то, что скорость передачи и т.д. Дается вызову socat, это не то, что вы можете легко изменить из своей программы. В верхней части я могу подключиться через сеть, не делая ничего, кроме изменения IP-адреса, к которому я подключаюсь.