[英]Developing an SMS Sending Application using Java Swing
我在课堂上有2个功能:
login()
登录到站点
Send_Sms()
发送短信
在这里,我正在考虑为函数放置2个线程,以便可以通过某种方式控制Send_Sms函数的Send_Sms
,以便在login()
成功完成后开始发送短信,否则程序将无法工作。
到目前为止,这是我所做的:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.logging.Level;
import java.util.logging.Logger;
public class RunThreads extends Thread
{
public void Login(String username,String password)
{
try
{
// creates the batch file for Logging into abc.com server
Writer output = null;
String UserAgent = "Mozilla/5.0 (Windows NT 5.1;KM:10.0.2)";
String postdata = "\"" + "username="+username+ "&password=" + password + "&button=Login" + "\"";
String MainStream = "c:\\wget.exe --output-document=login.html --user-agent=" + "\"" + UserAgent + "\"" + " --max-redirect=10 --cookies=on --keep-session-cookies --save-cookies=cookie.txt --post-data " + postdata + " http://www.abc.com/Login1.action;";
File file = new File("login.bat");
output = new BufferedWriter(new FileWriter(file));
output.write(MainStream);
output.close();
Runtime.getRuntime().exec("cmd /c start login.bat");
}
catch (IOException ex)
{
Logger.getLogger(Save_Credentials.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void SendSms(String mobno,String content) throws IOException
{
Writer output = null;
String UserAgent = "Mozilla/5.0 (Windows NT 5.1;KM:10.0.2)";
String MainStream = "c:\\wget.exe --output-document=quicksms.html --user-agent=" + "\"" + UserAgent + "\"" + " --referer=http://www.abc.com/jsp/SMS.jsp --cookies=on --keep-session-cookies --load-cookies=cookie.txt --save-cookies=cookie.txt --post-data "+"\""+"&HiddenAction=instantsms&catnamedis=Birthday&Action=gstahsbdf5346g&chkall=on&MobNo="+mobno+"&textArea="+content+"\""+" http://www.abc.com/quicksms.action;";
File file = new File("SendSms.bat");
output = new BufferedWriter(new FileWriter(file));
output.write(MainStream);
output.close();
Runtime.getRuntime().exec("cmd /c start SendSms.bat");
}
public static void main(String[] args)
{
}
}
如您自己所言,如果登录失败,将无法发送短信,因此:
可以通过以下方式控制Send_Sms函数的执行权:成功完成login()之后,它将开始发送短信,否则程序将无法工作。
那么这两个任务是顺序耦合的,这意味着在不同线程上并行执行它们是没有意义的。 只需在单个线程上按顺序执行它们即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.