Gammu同时使用ssh中的两个或更多java app发送短信

时间:2017-11-09 03:47:01

标签: java linux sms sms-gateway gammu

我使用gammu发送短信,我想知道是否可以使用两台或多台带有java app的计算机同时发送消息。我尝试了10次,并且成功从两台计算机发送的消息中有10次。 9次只有一台计算机可以发送短信而另一台无法发送短信。 是否有某种设置或命令,所以我可以同时从这两台计算机发送消息?对于配置,我使用Gammu的默认配置

:param

邮件失败:

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();
        }
    }

}

提前谢谢

1 个答案:

答案 0 :(得分:1)

也许您更愿意使用Gammu SMSD - 它在服务器上运行并从/向数据库发送/接收消息。这样,只需将消息插入数据库,即可轻松地从其他主机发送消息。

错误<Image Source="Assets/appIcon-256.png"/> 表示Gammu没有找到配置文件,也许你是以不同的用户身份运行它?或者尝试使用--config parameter指定配置文件的路径。