saber67
چهارشنبه 26 تیر 1392, 13:46 عصر
دوستان عزیز
کدی که اینجا می زارم برای ارتباط Dial-up به خوبی جواب میده و ترافیک واقعی اینترنت رو نشون میده
لطفا کسایی که به اینترنت پر سرعت (ADSL و وایمکس و...) دسترسی دارن این کد رو روی سیستم شون امتحان کنن و نتیجش رو به همراه نوع اینترنت شون بگن (مثلا وایمکس، کد درست نشون می داد یا ADSL، کد درست نشون نداد) اگه بتونین عکسی هم از محیط برنامه موقع اتصال به اینترنت بزارین که چه بهتر
در ضمن سورس برنامه به همراه فایل EXE رو هم ضمیمه کردم، کسایی که حوصله ندارن کد رو کپی کنن! اونو دانلود کنن و امتحان کنن
مدیران عزیز لطفا تاپیک رو منتقل نکنین!! حداقل قبل از گرفتن جواب
همین سوال تو تاپیک بخش شبکه پرسیده شد(http://barnamenevis.org/showthread.php?211778-%D9%85%DB%8C%D8%B2%D8%A7%D9%86-%D9%88%D8%A7%D9%82%D8%B9%DB%8C-Send-amp-Receive) اما هیچکس جواب نداد! انگار کمتر کسی به بخش های دیگه سر می زنه
یه تایمر به فرم اضافه کنین و کد زیر رو کپی کنین تو برنامه:
Private Declare Function RasEnumConnections Lib "rasapi32" Alias "RasEnumConnectionsA" (ByVal lprasconn As Long, ByVal lpcb As Long, ByVal lpcConnections As Long) As Long
Private Declare Function RasGetConnectionStatistics Lib "rasapi32" (ByVal hRasConn As Long, ByVal lpStatistics As Long) As Long
Private Type RASCONN
dwSize As Long
hRasConn As Long
szEntryName(0 To 256) As Byte
szDeviceType(0 To 16) As Byte
szDeviceName(0 To 128) As Byte
pad As Byte
End Type
Private Type RAS_STATS
dwSize As Long
dwBytesXmited As Long
dwBytesRcved As Long
dwFramesXmited As Long
dwFramesRcved As Long
dwCrcErr As Long
dwTimeoutErr As Long
dwAlignmentErr As Long
dwHardwareOverrunErr As Long
dwFramingErr As Long
dwBufferOverrunErr As Long
dwCompressionRatioIn As Long
dwCompressionRatioOut As Long
dwBps As Long
dwConnectDuration As Long
End Type
Private conn As RASCONN
Private stat As RAS_STATS
Private y As Long, z As Long
Private Sub Form_Load()
Me.AutoRedraw = True
Me.FontSize = 12
Timer1_Timer
End Sub
Private Sub Timer1_Timer()
conn.dwSize = Len(conn)
y = conn.dwSize
If RasEnumConnections(VarPtr(conn), VarPtr(y), VarPtr(z)) = 0 Then
stat.dwSize = Len(stat)
If RasGetConnectionStatistics(conn.hRasConn, VarPtr(stat)) = 0 Then
Me.Cls
Me.Print "Sent Byte: " & vbTab & stat.dwBytesXmited
Me.Print "Received Byte: " & vbTab & stat.dwBytesRcved
Me.Print "Sent Frame: " & vbTab & stat.dwFramesXmited
Me.Print "Received : " & vbTab & stat.dwFramesRcved
Me.Print "Received Compression: " & vbTab & stat.dwCompressionRatioIn
Me.Print "Sent Compression: " & vbTab & stat.dwCompressionRatioOut
Me.Print "Connection Speed: " & vbTab & stat.dwBps
Me.Print "Connection Duration: " & vbTab & stat.dwConnectDuration
End If
End If
End Sub
کدی که اینجا می زارم برای ارتباط Dial-up به خوبی جواب میده و ترافیک واقعی اینترنت رو نشون میده
لطفا کسایی که به اینترنت پر سرعت (ADSL و وایمکس و...) دسترسی دارن این کد رو روی سیستم شون امتحان کنن و نتیجش رو به همراه نوع اینترنت شون بگن (مثلا وایمکس، کد درست نشون می داد یا ADSL، کد درست نشون نداد) اگه بتونین عکسی هم از محیط برنامه موقع اتصال به اینترنت بزارین که چه بهتر
در ضمن سورس برنامه به همراه فایل EXE رو هم ضمیمه کردم، کسایی که حوصله ندارن کد رو کپی کنن! اونو دانلود کنن و امتحان کنن
مدیران عزیز لطفا تاپیک رو منتقل نکنین!! حداقل قبل از گرفتن جواب
همین سوال تو تاپیک بخش شبکه پرسیده شد(http://barnamenevis.org/showthread.php?211778-%D9%85%DB%8C%D8%B2%D8%A7%D9%86-%D9%88%D8%A7%D9%82%D8%B9%DB%8C-Send-amp-Receive) اما هیچکس جواب نداد! انگار کمتر کسی به بخش های دیگه سر می زنه
یه تایمر به فرم اضافه کنین و کد زیر رو کپی کنین تو برنامه:
Private Declare Function RasEnumConnections Lib "rasapi32" Alias "RasEnumConnectionsA" (ByVal lprasconn As Long, ByVal lpcb As Long, ByVal lpcConnections As Long) As Long
Private Declare Function RasGetConnectionStatistics Lib "rasapi32" (ByVal hRasConn As Long, ByVal lpStatistics As Long) As Long
Private Type RASCONN
dwSize As Long
hRasConn As Long
szEntryName(0 To 256) As Byte
szDeviceType(0 To 16) As Byte
szDeviceName(0 To 128) As Byte
pad As Byte
End Type
Private Type RAS_STATS
dwSize As Long
dwBytesXmited As Long
dwBytesRcved As Long
dwFramesXmited As Long
dwFramesRcved As Long
dwCrcErr As Long
dwTimeoutErr As Long
dwAlignmentErr As Long
dwHardwareOverrunErr As Long
dwFramingErr As Long
dwBufferOverrunErr As Long
dwCompressionRatioIn As Long
dwCompressionRatioOut As Long
dwBps As Long
dwConnectDuration As Long
End Type
Private conn As RASCONN
Private stat As RAS_STATS
Private y As Long, z As Long
Private Sub Form_Load()
Me.AutoRedraw = True
Me.FontSize = 12
Timer1_Timer
End Sub
Private Sub Timer1_Timer()
conn.dwSize = Len(conn)
y = conn.dwSize
If RasEnumConnections(VarPtr(conn), VarPtr(y), VarPtr(z)) = 0 Then
stat.dwSize = Len(stat)
If RasGetConnectionStatistics(conn.hRasConn, VarPtr(stat)) = 0 Then
Me.Cls
Me.Print "Sent Byte: " & vbTab & stat.dwBytesXmited
Me.Print "Received Byte: " & vbTab & stat.dwBytesRcved
Me.Print "Sent Frame: " & vbTab & stat.dwFramesXmited
Me.Print "Received : " & vbTab & stat.dwFramesRcved
Me.Print "Received Compression: " & vbTab & stat.dwCompressionRatioIn
Me.Print "Sent Compression: " & vbTab & stat.dwCompressionRatioOut
Me.Print "Connection Speed: " & vbTab & stat.dwBps
Me.Print "Connection Duration: " & vbTab & stat.dwConnectDuration
End If
End If
End Sub