PDA

View Full Version : سوال: دایال کردن به یک مودم



najib jalali
چهارشنبه 28 اسفند 1387, 09:41 صبح
سلام دوستان سال جدید خوبی داشته باشید ،
من می خواستم کمکم کنید و بگید چطور می توانم کدی با C# بنویسم تا از طریق windos به یک مودم به صورت اتومات(از طریق دستور خاصی) وصل شوم (فقط تماس بگیرم).
ممنون.

vb develop
چهارشنبه 28 اسفند 1387, 13:33 عصر
ابتدا باید یک نمونه از سریال پورت رو در سطح کلاس بسازی:

private SerialPort Port = new SerialPort();
بعدش یک تابع برای چک کردن و پیدا کردن شماره پورت مودم:

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;
}
بعدش هم که باید از این تابع استفاده کنی و شماره بگیری،مثل تابع زیر:

if (SearchModemPort() != 0)
{
MessageBox.Show(String.Format(".مودم بر روی پورت {0} یافت شد", Port.PortName), "پورت مودم");
Port.Write("ATDT شماره");
}
else
{
MessageBox.Show(".مودم یافت نشد", "پورت مودم");
Application.Exit();
}

تو کد بالا به جای "شماره"، باید شماره تلفنی که قرار هست شماره گیریش کنید بنویسی.

kitaro
شنبه 20 تیر 1388, 16:49 عصر
ابتدا باید یک نمونه از سریال پورت رو در سطح کلاس بسازی:

private SerialPort Port = new SerialPort();
بعدش یک تابع برای چک کردن و پیدا کردن شماره پورت مودم:

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;
}
بعدش هم که باید از این تابع استفاده کنی و شماره بگیری،مثل تابع زیر:

if (SearchModemPort() != 0)
{
MessageBox.Show(String.Format(".مودم بر روی پورت {0} یافت شد", Port.PortName), "پورت مودم");
Port.Write("ATDT شماره");
}
else
{
MessageBox.Show(".مودم یافت نشد", "پورت مودم");
Application.Exit();
}

تو کد بالا به جای "شماره"، باید شماره تلفنی که قرار هست شماره گیریش کنید بنویسی.

می شه بگین چجوری قبل از شماره گیری Username و Password رو برای کانکشن وارد کنیم؟ مثل Internet Connection ها؟

nathan
شنبه 28 شهریور 1388, 09:48 صبح
با تشكرازدوستان و كدهاشون.
دو تا مشكل دارم:
1-وقتي شماره گيري انجام مي شه بعضي اوقات بعد از1 يا 2 ثانيه ارتباط خود به خودقطع مي شه؟!!!:متعجب:خواه فرد مقابل جواب داده باشه يانه!!!!:متفکر:

2- صداي نفر مقابل داخل بلندگو مياد ولي ازداخل PC صداي ميكروفون نمي ره!:عصبانی++:
خيلي سعي كردم اما نتيجه اي نداشته:گریه::گریه::عصبانی++:: صبانی:
البته متذكر بشم كه ميكروفون سالمه!!!!!!:گیج:

nathan
سه شنبه 31 شهریور 1388, 08:22 صبح
جالبه حتي با Dialer خود ويندوز هم كه شماره گيري مي كنم باز همين مشكلو داره.
دوستان اگه جواب رو مي دونن راهنمائي كنن. . .

nathan
پنج شنبه 02 مهر 1388, 16:56 عصر
دوستان خوب وگرامي منشأ مشكل رو مي دونم ازمودم هستش براي راه حلش راهي رو سراغ نداريد؟؟؟؟:تشویق::عصبانی:

mehran5
پنج شنبه 27 اسفند 1388, 18:25 عصر
سلام
من یه لپ تاپ دارم .متاسفانه فاقد مودم داخلی هست.خوب می دونید که برنامه مورد نظرنهایتا باید روی یک pcاجرا بشه که مومدم dial upداشتته باشه.چه راههای هست که بشه برنامه رو روی لپ تاپ بنویسم و مودم dial up موردنظر رو با لپ تاپ ست کنم و برای تست برنامه ازش استفاده کنم؟

Omid.Mafakher
پنج شنبه 27 اسفند 1388, 23:44 عصر
-------------------------------------

mohammad kafiyan
جمعه 28 اسفند 1388, 12:20 عصر
با سلام به دوستان من با همان کد که دوست عزیز در بالای تایپیک اشاره کردند ، یک شماره می دهم و connect می شوم ولی چگونه می توانم بعد از connect ارتباط را قطع نمایم disconnect کنم آیا کدی هست که بتوان استفاده کرد (منظورم connect شدن به اینترنت نیست و فقط برقراری ارتباط و قطع ارتباط است)
سال نو مبارک انشاء الله سال خوبی داشته باشید
:چشمک::چشمک::بوس:

mf_007
جمعه 28 اسفند 1388, 12:45 عصر
سلام
port رو پيدا مي كنه ولي شماره گيري نمي كنه ايراد از چيه؟

Omid.Mafakher
یک شنبه 01 فروردین 1389, 22:23 عصر
-------------------------------------

mohammad kafiyan
دوشنبه 02 فروردین 1389, 22:07 عصر
سلام به دوستان من از این برنامه استفاده کردم و شماره به آن می دهم و مودم شروع به شماره گیری مکنه ولی بعد از شماره گیری می خواهم ارتباط قطع بشه یعنی خط تلفن آزاد بشه (یک جورایی مودم غیر فعال یا قطع بشه)
اگه در این زمینه کار کردید یک کمک به من بکنید
با تشکر :کف::کف:

Omid.Mafakher
سه شنبه 03 فروردین 1389, 23:26 عصر
-------------------------------------

mehran5
سه شنبه 10 فروردین 1389, 09:22 صبح
سلام اگه قرار باشه پورت رو از یک کامپیوتر دیگه بخونه ومسیر و نام کامپبپیوتر رو چطوری مینویسیم؟

micro24
چهارشنبه 02 تیر 1389, 12:08 عصر
با سلام

من کدهایی که در تایپیک گذاشته اید را با Hyper Terminal تست می نمایم درست کار میکند ولی در برنامه کار نمی کند چی کارکنم ؟

متشکرم

micro24
پنج شنبه 03 تیر 1389, 08:56 صبح
سلام

لطفا جواب سوال من را بدهید.

متشکرم

HAMRAHSOFT.IR
چهارشنبه 10 آذر 1389, 08:23 صبح
برای Connection به اینترنت شما نباید مستقیم به مدم وصل بشید و Connect کنید.
بلکه خود ویندوز باید به اینترنت Connect کنه، برای انجام این کار شما یاید از RasDial استفاده کنید.
یک راه ساده اون اینه که از کد زیر استفاده کنی:


RASDIAL.EXE entryname [ username [ password | * ]] [ /DOMAIN:domain ] [ /PHONE:phonenumber ] [ /CALLBACK:callbacknumber ] [ /PHONEBOOK:phonebookfile ] [ /PREFIXSUFFIX ]
RASDIAL.EXE [ entryname ] /DISCONNECT
RASDIAL.EXE




مدم میتونه به دو حالت تماس بگیره: 1. Data و 2. Voice
جهت برقراری ارتباط Voice شما باید بعد از شماره گیری یک ; به انتهای کدتون اضافه کنید:

ATDT09120000000;
lدوست خوب مكن يك نمونه بزاري ؟
از اين طريق ميشه داخل برنامه يك فرم ساخت مثل كانكشن اينترنت؟