ورود

View Full Version : مبتدی: سوال در مورد دريافت دليوري



AftaB66
پنج شنبه 08 اردیبهشت 1390, 12:12 عصر
سلام دوستان
من دارم روي يه برنامه كار مي كنم كه ليستي از اس ام اس ها رو از طريق مودم GSM ‌ ارسال كنه و دليوري اونا دو هم دريافت كنه.. كه بعد از دريافت دليوري به كاربر پيغام لازم داده مي شه..
اما مشكلم اينه كه :
من قطعه كد زير رو براي دريافت پاسخ از سمت مودم نوشتم :

public string ReadResponse(SerialPort port, int timeout)
{

string buffer = string.Empty;
try
{
do
{
if (receiveNow.WaitOne(timeout, false))
{
string t = port.ReadExisting();
if (t.Contains("+CDS"))
{
portText += t;
return t;
}
portText += t;
buffer += t;
}
else
{
if (buffer.Length > 0)
throw new ApplicationException("Response received is incomplete.");
else
throw new ApplicationException("No data received from phone.");
}
}
while (!buffer.EndsWith("\r\nOK\r\n") && !buffer.EndsWith("\r\n> ") && !buffer.EndsWith("\r\nERROR\r\n"));
}
catch (Exception ex)
{
return ex.Message;
}
return buffer;
}
اما وقتي بعد از send شدن اس ام اس اين متد را با TimeOut = 7000 فراخواني مي كنم ‏ براي اس ام اس اول دليوري رو دريافت مي كنم ولي براي اس ام اس هاي بعدي نمي تونم دليوري رو بگيرم.. خودم فكر مي كنم راه حل كار توي همين Timeout ‌باشه ولي هر چي سعي كردم نتونستم پيداش كنم..:افسرده:
ممنون مي شم اگه مي تونيد كمكم كنيد..
ضمنا اينو هم بگم كه من ليست اس ام اس ها رو توي يه حلقه For مي فرستم و توي اين حلقه بعد از ارسال اس ام اس و فراخواني متد ReadResponse به سراغ اس ام اس بعدي مي رم..

AftaB66
شنبه 10 اردیبهشت 1390, 09:16 صبح
دوباره سلام ..
دوستان اگه كسي تو اين زمينه تجربه داره .. خواهش مي كنم لااقل تجربياتشو بهم بگه.. مشكلم اساسيه..