PDA

View Full Version : سوال: Dial-Up در سی شارپ



Hamishebahar
جمعه 08 خرداد 1388, 11:59 صبح
سلام دوستان خسته نباشید من هر چی تو این سایت و سایتهای خارجی گشتم کلی کد و پروژه گرفتم نتونستم به مودم وصل بشم و شماره بگیرم کسی تا حالا این کارو انجام داده؟اگه میدونین لطفاً راهنمایی و کمک کنین.
این کدیه که من نوشتم البته همینجا پیداش کردم ولی کار نمیکنه!:


private SerialPort Port = new SerialPort();
private void button1_Click(object sender, EventArgs e)
{
if (SearchModemPort() != 0)
{
MessageBox.Show(String.Format(".مودم بر روی پورت {0} یافت شد", Port.PortName), "پورت مودم");
Port.Open();
SendSerialData("شماره تماس");
}
else
{
MessageBox.Show(".مودم یافت نشد", "پورت مودم");
Application.Exit();
}
}
private int SearchModemPort()
{
Port.Close();
for (int i = 1; i < 10; i++)
{
try
{
Port.PortName = "COM" + i;
Port.Open();
Port.Write("AT\r");
Thread.Sleep(200);
if (Port.ReadExisting().ToUpper().Contains("OK"))
return i;
Port.Close();
}
catch
{
// MessageBox.Show("error" + Port.PortName);
}
}
return 0;
}

با تشکر.

Mahdi1001
جمعه 08 خرداد 1388, 12:19 عصر
سلام از KDTele
استفاده کن تو همین سایتم توضیح داده یاTAPIEX تو همین سایت یه سرچ بزن کلی مطلب میاره.

NewFoxStudent
جمعه 08 خرداد 1388, 12:44 عصر
توسط کنترل سریال پورت میتونی به راحتی این کار رو انجام بدی
فقط باید با AT Command ها آشنا باشی

این نمونه رو هم ببین تا روال کار دستت بیاد البته خیلی سادست

31389

اینم لینک مربوط به AT Command های استاندارد

http://www.zoltrix.com/SUPPORT_HTML/modem/USEMODEM.HTM

پیشنهاد میکنم از هیچ کامپوننتی استفاده نکنی
ساده ترین راه استفاده از ATCommand و سریال پورت
اگه سوالی داشتی بگو

Hamishebahar
جمعه 08 خرداد 1388, 12:58 عصر
سلام دوستان عالی بود ممنونم جواب گرفتم فقط یه چیزی مونده که بگم.

if (!serialPort1.IsOpen)
serialPort1.Open();
serialPort1.Write("ATDT(" + textBox1.Text +")"+ Convert.ToChar(13));

پرانتزها باید باشن وگرنه دایال درست انجام نمیشه.توی اون پروژه پرانتزها نبودن.واقعاً ازتون ممنون.

پیشنهاد میکنم از هیچ کامپوننتی استفاده نکنی
درسته من نمیخواستم از کامپوننت استفاده کنم چون 2 خط کد بیشتر نبود.

حالا اگه بخوام وقتی تلفن زنگ میخوره به وسیله همین پورت بفهمم یا شماره کسی رو بگیرم باید چی کار کنم؟

NewFoxStudent
جمعه 08 خرداد 1388, 13:03 عصر
توی لینکی که گذاشتم کاملا توضیح داده برای دریافت تماس و یا چک کردن وجود تماس از چه دستوری باید استفاده کنید
در ضمن توی اون کد نیازی به پرانتز نیست
میتونید خط زیر رو توی هایپرترمینال امتحان کنید و ببینید که جواب میده
ATDT22895444

Hamishebahar
جمعه 08 خرداد 1388, 13:25 عصر
توی لینکی که گذاشتم کاملا توضیح داده برای دریافت تماس و یا چک کردن وجود تماس از چه دستوری باید استفاده کنید
در ضمن توی اون کد نیازی به پرانتز نیست
میتونید خط زیر رو توی هایپرترمینال امتحان کنید و ببینید که جواب میده
ATDT22895444

درسته دوباره که امتحان کردم درست جواب داد.ببخشید و ممنون.
ولی اون لینکی که دادین همش انگلیسی بود و من چیزی نفهمیدم خواهشاً اگه میدونید یه توضیخی بدین ممنون میشم.

NewFoxStudent
جمعه 08 خرداد 1388, 13:35 عصر
برای جواب دادن به تماس باید از دستور ATA استفاده کنید
برای دریافت CallerID باید به این نکته توجه کنید که تو سیستم های مخابراتی ایران CallerID با دو سیستم DTMF یا FSK ارسال میشه و همیشه بین زنگ اول و دوم باید منتظر دریافت CallerID باشید پس درصورتی که مودم شما بعد از یک بار زنگ خوردن جواب تماس رو بده دیگه CallerID در کار نخواهد بود و این اشتباهیه که اکثراً رخ میده
همچنین برای دریافت CallerID باید پورت مربوط به مودم رو چک کنید و اطلاعاتی رو که دریافت میکنید با کدنویسی چک کنید

Hamishebahar
جمعه 08 خرداد 1388, 14:16 عصر
سلام ببخشید من هر کاری کردم چون کار با CallerID رو بلد نبودم نتونستم.
میشه بگید چطوری باید از CallerID استفاده و شماره رو دریافت کنم؟
البته کار با ATA راحت بود چون فقط یه دستور Write بود و گوشی رو برداشت ولی CallerID رو نمیدونم چطوریه!

NewFoxStudent
جمعه 08 خرداد 1388, 16:00 عصر
منظور از CallerID همون شماره تماسه
برای این کار باید پورت رو موقع زنگ خوردن چک کنی
اینو ببین
31392

hammod
یک شنبه 21 تیر 1388, 10:46 صبح
منظور از CallerID همون شماره تماسه
برای این کار باید پورت رو موقع زنگ خوردن چک کنی
اینو ببین
31392
سلام خسته نباشید
اگر بخواهیم فقط با یک پورت ارتباط برقرار کنم باید چیکار کنم
یعنی فقط با پرت com3 میخوام ارتباط برقرار کنم

Unknownlive
یک شنبه 21 تیر 1388, 13:18 عصر
با سلام،ایا کسی روش تشخیص اتصال به اینترنت را بلده ؟ یعنی این که تشخیص بدیم کاربر اصلا به اینترنت وصل هست یا نه!

antisocial
یک شنبه 21 تیر 1388, 14:44 عصر
با استفاده از process این فرمان رو تو dos اجرا کنید شاید به دردتون بخوره
نام کانکشن rasdial
برای قطع کردن هم rasdial/disconnect

ahrimaneahurai
چهارشنبه 24 آذر 1389, 11:35 صبح
دوستان یه سوال
دیال آپ یوزرنیم و پسورد داره
با چه دستوری آونهارو باید وارد کنیم ؟
اصلا ربطی به at command ها دارند ؟
یا بعد از وصل شدن به isp باید اونها رو به isp فرستاد ؟

gole_nargess
چهارشنبه 24 فروردین 1390, 22:17 عصر
توسط کنترل سریال پورت میتونی به راحتی این کار رو انجام بدی
فقط باید با AT Command ها آشنا باشی

این نمونه رو هم ببین تا روال کار دستت بیاد البته خیلی سادست

31389

اینم لینک مربوط به AT Command های استاندارد

http://www.zoltrix.com/SUPPORT_HTML/modem/USEMODEM.HTM

پیشنهاد میکنم از هیچ کامپوننتی استفاده نکنی
ساده ترین راه استفاده از ATCommand و سریال پورت
اگه سوالی داشتی بگو
سلام بزرگوار،چند سوال داشتم که اگر جواب بدهید خیر دنیا و آخرت در پیش است:
1 - می خواهم با یک خط کد در سیستم تماس برقرار کنم از طریق خط تلفن با طرف مقابلم،چه کنم،حالا یک خط هم نشد خبری نیست!!!
2 - با یک خط کد تماس را قطع کنم،حالا یک خط هم نشد خبری نیست!!!
3 - می خواهم مدت زمان مکالمه ی یک تماس را داشته باشم،منظور از وقتی هست که طرف مقابل گوشی را جواب داده،باید چه کنم؟

کلا درباره ی مدریت تماس ها از طریق کد سی شارپ اگر مطلبی دارید که به درد می خورد اگر به اشتراک بگذارید ممنون می شوم.
با تشکر از توجه شما:متفکر:

nta_xyz
دوشنبه 22 خرداد 1391, 12:43 عصر
توسط کنترل سریال پورت میتونی به راحتی این کار رو انجام بدی
فقط باید با AT Command ها آشنا باشی

این نمونه رو هم ببین تا روال کار دستت بیاد البته خیلی سادست

31389

اینم لینک مربوط به AT Command های استاندارد

http://www.zoltrix.com/SUPPORT_HTML/modem/USEMODEM.HTM

پیشنهاد میکنم از هیچ کامپوننتی استفاده نکنی
ساده ترین راه استفاده از ATCommand و سریال پورت
اگه سوالی داشتی بگو

هم لینک at command دیگه باز نمیشه و هم برنامه ای قرار دادین لطفا پیگیری کنید ممنون