PDA

View Full Version : ساختن کانکشن ADSL



vahid_d_0101
پنج شنبه 06 فروردین 1388, 22:52 عصر
:تشویق::تشویق:با سلام و تبریک سال نو به همه ی بروبچ برنامه نویس یه مدت نبودم ببخشید
یه سوال دارم می خوام تو برنامه به اینترنت وصل بشم یعنی یه جا داشته باشه که یوزر و پسورد را وارد کنم و به اینترنت وصل بشم ( البته ADSL )
بعد میخوام اگه یه ارور داد اونو رد کنه و دوباره به اینترنت وصل بشه یعنی برای مثال هر 20 ثانیه یه بار اگه ارور داد دوباره تلاش بکنه تا وصل بشه و بعد از این که وصل شد برنامه یه عدد مثلا 10 را روی یه تکست بنویسه
همین
حالا گفتن همین که بچه ها زیاد سخت نگیرن :لبخند::لبخند:

vahid_d_0101
جمعه 07 فروردین 1388, 18:09 عصر
برای تشخیص اتصال یکی پیدا کردم فقط مشکلش اینه که اگر یوزر و پسورد را اشتباه بزنیم بازم اون میگه به اینترنت وصل هستی

Const NETWORK_ALIVE_AOL = &H4
Const NETWORK_ALIVE_LAN = &H1
Const NETWORK_ALIVE_WAN = &H2
Private Declare Function IsNetworkAlive Lib "SENSAPI.DLL" (ByRef lpdwFlags As Long) As Long

Private Sub Timer1_Timer()
Dim CRes As Long
If IsNetworkAlive(CResult) = 0 Then
Text1.Text = False
Else
Text1.Text = True
End If
End Sub

Babak.Hassanpour
جمعه 07 فروردین 1388, 18:28 عصر
این واسه تشخیص اتصال و نوع اون:
http://barnamenevis.org/forum/attachment.php?attachmentid=29321&d=1237465013

اینم واسه ایجاد کانکشن ای دی اس ال:


Imports System

Imports System.Text

Imports Microsoft.Win32

Imports System.Runtime.InteropServices



Public Class Form1



Private Sub Button1_Click(ByVal s As Object, ByVal e As EventArgs) Handles Button1.Click

Dim ras As New RAS_API

MessageBox.Show(ras.GetDefDialAcc) 'GetDefDialAcc

End Sub



End Class



Public Class RAS_API



' API Declare

Private Declare Function RasGetEntryDialParamsA Lib "RasAPI32.dll" (ByVal PB As String, ByRef DialPara As Byte, ByRef Pswd As Integer) As Integer





Public Function GetDefDialAcc() As String

Dim k As String = "Software\Microsoft\RAS AutoDial\Default"

GetDefDialAcc = Registry.LocalMachine.OpenSubKey(k).GetValue("DefaultInternet")

Return IIf(GetDefDialAcc.Length > 0, GetDialAcc(GetDefDialAcc), "")

End Function





Public Function GetDialAcc(ByVal Entry As String) As String

GetDialAcc = ""

Dim b(1060) As Byte

CpMm(1060, b, 0, 4)

CpMm(Encoding.Default.GetBytes(Entry), b, 4, 256)

If RasGetEntryDialParamsA(vbNullString, b(0), 1) = 0 Then

Return Encoding.Default.GetString(b, 519, 257).TrimEnd(Chr(0))

End If

End Function



' CopyMemory

Private Sub CpMm(ByRef s As Object, ByRef d As Object, ByVal b As Integer, ByVal l As Integer)

Marshal.Copy(GCHandle.Alloc(s, GCHandleType.Pinned).AddrOfPinnedObject, d, b, l)

End Sub



End Class



البته ببخش واسه دات نته بین می تونی به وی بی 6 تبدیلش کنی؟
راستی این واسه PPPOE است. واسه بریج فکر کنم فرق کنه
به هر حال در حال جستجو هستم

vahid_d_0101
چهارشنبه 12 فروردین 1388, 19:12 عصر
کسی جواب نمیده :عصبانی++:

mithridates
چهارشنبه 12 فروردین 1388, 21:04 عصر
فکر می کنم برای اینکه نوع اتصال از شبکه جدا شه و مشکلات دیگه بهترین و قابل اعتماد ترین راه Ping باشه