этот код проверяет, есть ли у меня почта из gmail, а затем отправляет m по серийному номеру в arduino, если они являются почтой.
Хорошо, мой код не компилируется (ошибка при указании ссылки на объект в коде "CheckMail (); ") если я не изменю Main на нестатический, как сейчас, он не будет компилироваться, потому что у них нет статического Main, я в тупике.
также, как мне сделать это повторение, чтобы он проверял сообщения каждую минуту?
Спасибо !!!
РЕДАКТИРОВАТЬ \\ ОК ДА !!!наконец-то у меня появился рабочий эмуляторпосле того, как ваши парни помогают, он работает, но он обращается только дважды (мгновенно, не с интервалом в 60 секунд).CMD остается открытым, он просто останавливается после сообщения «Непрочитанная почта: 2», «Непрочитанная почта»: 2, после чего истекает время операции, «Непрочитанная почта»: 0, даже если у меня есть непрочитанные письма.даже если я изменю {System.Threading.Thread.Sleep (10000 * 60);} на более длительное время между обновлениями первых двух раз все равно.
(пространство имен, класс и использование Sytem и т. д. здесь не указаны).
public void Main(string[] args)
{
try {
SerialPort port = new SerialPort( "COM9", 9600, Parity.None, 8, StopBits.One );
port.Open();
string Unreadz = "0";
while ( true ) {
Unreadz = CheckMail();
Console.WriteLine( "Unread Mails: " + Unreadz );
if ( !Unreadz.Equals( "0" ) ) port.Write( "m" );
else port.Write( "n" );
System.Threading.Thread.Sleep(1000);
}
} catch ( Exception ee ) { Console.WriteLine( ee.Message ); }
}
public static string TextToBase64(string sAscii)
{
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
byte[] bytes = encoding.GetBytes(sAscii);
return System.Convert.ToBase64String(bytes, 0, bytes.Length);
}
private string CheckMail() {
string result = "0";
try {
var url = @"https://gmail.google.com/gmail/feed/atom";
var USER = "username";
var PASS = "password";
var encoded = TextToBase64( USER + ":" + PASS );
var myWebRequest = HttpWebRequest.Create( url );
myWebRequest.Method = "POST";
myWebRequest.ContentLength = 0;
myWebRequest.Headers.Add( "Authorization", "Basic " + encoded );
var response = myWebRequest.GetResponse();
var stream = response.GetResponseStream();
XmlReader reader = XmlReader.Create( stream );
while ( reader.Read() )
if ( reader.NodeType == XmlNodeType.Element )
if ( reader.Name == "fullcount" ) {
result = reader.ReadElementContentAsString();
return result;
}
} catch ( Exception ee ) { Console.WriteLine( ee.Message ); }
return result;
}