Gammu отправляет смс, используя два или более Java-приложения из SSH одновременно

Я использую гамму для отправки смс, и мне было интересно, можно ли отправлять сообщения одновременно, используя два или более компьютера с приложением Java. Я пробовал это 10 раз и 1 из 10 раз сообщение успешно отправлено с обоих компьютеров. 9 раз только один компьютер может отправить смс, а другой не удается отправить. Существуют ли какие-либо настройки или команды, чтобы я мог отправлять сообщения с обоих компьютеров одновременно? Для конфига я использую конфиг по умолчанию от Gammu

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;

import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;

public class TestingSms {



public static void main(String[] args) {
        // TODO Auto-generated method stub
        String host = "MY GAMMU IP";
        String user = "MY USERNAME";
        String password = "MY PASSWORD";
        int port = 22;
        String sms ="haloo";

        JSch jsch = new JSch();
        try {
            Session session = jsch.getSession(user, host, port);
            session.setPassword(password);
            session.setConfig("StrictHostKeyChecking", "no");
            session.connect();

            ChannelExec exec = (ChannelExec) session.openChannel("exec");
            exec.setCommand("gammu sendsms TEXT 08xxxxxxxxxx -text \""+sms+"\"");
            exec.setErrStream(System.err);

            exec.connect();

            BufferedReader reader = new BufferedReader(new InputStreamReader(exec.getInputStream()));
            String temp;
            while((temp=reader.readLine())!=null) {
                System.out.println(temp);
            }
            exec.disconnect();
            session.disconnect();

            System.out.println("\n\nFinish");
        } catch (JSchException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

Неудачное сообщение:

Warning: No configuration read, using builtin defaults!
No response in specified timeout. Probably phone not connected.

заранее спасибо

1 ответ

Решение

Возможно, вы предпочитаете использовать для этого Gammu SMSD - он работает на сервере и отправляет / получает сообщения из / в базу данных. Таким образом, вы можете легко отправлять сообщения с других хостов, просто вставляя их в базу данных.

Ошибка Warning: No configuration read, using builtin defaults! указывает на то, что Gammu не нашел файл конфигурации, может быть, вы используете его как другой пользователь? Или попробуйте указать путь к файлу конфигурации с помощью параметра --config.

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