Доступ к COMPORT 1 через три разных приложения - PullRequest
0 голосов
/ 09 июня 2010

У меня есть приложение SMS, которое получает сообщения через GPS-модем и возвращает обратно через GPS-модем.Модем использует COM1.

Теперь мне нужно еще два приложения, которые могут отправлять сообщения через тот же модем GPS.Я попытался создать веб-сервис, который может получить доступ к COM1 для отправки данных, но когда я пытаюсь подключиться через webService, выдается сообщение об ошибке «COM1 уже занят, доступ запрещен».

Может ли кто-нибудь помочь мне подключиться через модем в вышеприведенном сценарии.

Хуши

1 Ответ

1 голос
/ 09 июня 2010

Вы должны убедиться, что установлено только 1 соединение.

Самое простое (и самое низкотехнологичное, но, вероятно, наиболее гибкое) - иметь скрипт, регулярно проверяющий каталог на наличие файлов и отправляющий сообщения из файла на модем. Затем веб-служба просто записывает файл для каждого полученного SMS. (это можно легко расширить, чтобы принимать электронные письма, веб-запросы и т. д., ...)

Немного более сложным является запуск потока для связи и передача сообщений в структуру данных типа FIFO, предоставляемую вашей любимой платформой программирования. BlockinQueue будет идеальным. Поток читает сообщения из очереди и отправляет их на модем GSM.

Если вы хотите получить подтверждение отправки SMS-сообщения (что, по моему опыту, ничего не значит и, конечно, не означает, что получатель действительно его получил), вам нужно найти способ вернуть отзыв вызывающей стороне. Это может быть просто установка логического флага в сообщении для отправки другого сообщения или выполнения обратного вызова. Но я бы не стал беспокоиться. У меня были ситуации, когда 30% сообщений исчезали, даже когда у нас было центральное подтверждение сообщения.

...