Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: помогите плиз! подсчет инетовского трафика. Добавлено: 03.09.04 14:21  

Автор вопроса:  ERLAN
что есть в наличии:
1 - комп. салон
2 - прокси-сервер
3 - на каждом компе стоит моя программа-блокировщик.

что необходимо:
сколько ушло трафика с клиентского компа на прокси-сервер.

как думаю делать:
на клиентском компе поставить программу, к которой будет коннектиться браузер и которая сама коннектиться к прокси-серверу, программа посчитает байты и переправит пакеты на прокси-сервер. обратно по такой же схеме.

что получилось:
переправка пакетов, НО :
1 - есть тормоза (это не очень существенно)
2 - при получении от браузера пакета, я отправляю его на прокси-сервер (это происходит без проблем), потом я получив пакет от прокси-сервера пытаюсь переслать пакет браузеру, но соединение на этом винсоке закрыто (это бывает редко и только на тормозных страницах).

может есть какой-нибудь человек, который делал подобное.

или может можно по-другому сделать? это ОЧЕНЬ ВАЖНО. пожалуйста, помогите!!!!!

почта: er_admin@ok.kz

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #1
Добавлено: 03.09.04 16:44
Может и делали подобное...
Но наврятли кто-то тебе даст рабочий отлаженый код... ;(
Так что ручками все надо... ручками...
Идея у тя есть.. так-что дерзай ;)

Ответить

Номер ответа: 2
Автор ответа:
 ERLAN



Вопросов: 1
Ответов: 1
 Профиль | | #2 Добавлено: 03.09.04 17:54
вот мой код:

Public int_wskKol As Integer
Public int_ProxyClose As Integer
Public int_BrowserClose As Integer
'


Private Sub Form_Load()
wskProxy(0).Connect "192.168.72.100", 3128
wskBrowser(0).Bind 9000
wskBrowser(0).Listen
Load wskProxy(int_wskKol + 1)
DoEvents
wskProxy(int_wskKol + 1).Connect "192.168.72.100", 3128
DoEvents
Load wskBrowser(int_wskKol + 1)
DoEvents
int_wskKol = int_wskKol + 1
Load wskProxy(int_wskKol + 1)
DoEvents
wskProxy(int_wskKol + 1).Connect "192.168.72.100", 3128
DoEvents
Load wskBrowser(int_wskKol + 1)
DoEvents
int_wskKol = int_wskKol + 1
End Sub


Private Sub Text1_DblClick()
Text1.Text = ""
End Sub

Private Sub tmrTimer_Timer()
Dim iter As Integer

Cls
Me.Caption = wskProxy(0).State & wskBrowser(0).State & int_ProxyClose & int_BrowserClose
For iter = 1 To int_wskKol
    Print wskProxy(iter).State & wskBrowser(iter).State
Next iter
End Sub

Private Sub wskBrowser_Close(Index As Integer)
wskBrowser(Index).Close
DoEvents
If Index <> 0 Then Call wskProxy_Close(Index)
If Index = 0 Then wskBrowser(Index).Listen
End Sub

Private Sub wskBrowser_ConnectionRequest(Index As Integer, ByVal requestID As Long)
Dim iter As Integer
Dim bln_ParaFree As Boolean
Dim int_ParaFree As Integer

For iter = 1 To int_wskKol
    If wskProxy(iter).State = sckConnected And wskBrowser(iter).State = sckClosed Then
        bln_ParaFree = True
        int_ParaFree = iter
        Exit For
    End If
Next iter
If int_ParaFree = int_wskKol Then
    Load wskProxy(int_wskKol + 1)
    Load wskBrowser(int_wskKol + 1)
    wskProxy(int_wskKol + 1).Connect "192.168.72.100", 3128
    int_wskKol = int_wskKol + 1
End If
If int_ParaFree <> 0 Then
    wskBrowser(int_ParaFree).Accept requestID
End If
End Sub

Private Sub wskBrowser_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim dat_Data As String
Static int_wskProxyClose As Integer

wskBrowser(Index).GetData dat_Data
If wskProxy(Index).State = sckConnected Then
    wskProxy(Index).SendData dat_Data
Else
    int_wskProxyClose = int_wskProxyClose + 1
    int_ProxyClose = int_wskProxyClose
End If
Text1.Text = Text1.Text + dat_Data
Text1.Text = Text1.Text + vbNewLine + "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ wskBrowser" + vbNewLine
Text1.SelStart = Len(Text1.Text)
End Sub

Private Sub wskBrowser_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
wskBrowser(Index).Close
DoEvents
If Index <> 0 Then Call wskProxy_Close(Index)
If Index = 0 Then wskBrowser(Index).Listen
End Sub

Private Sub wskProxy_Close(Index As Integer)
wskProxy(Index).Close
DoEvents
wskProxy(Index).Connect "192.168.72.100", 3128
End Sub

Private Sub wskProxy_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim dat_Data As String
Static int_wskBrowserClose As Integer

wskProxy(Index).GetData dat_Data
If wskBrowser(Index).State = sckConnected Then
    wskBrowser(Index).SendData dat_Data
Else
    int_wskBrowserClose = int_wskBrowserClose + 1
    int_BrowserClose = int_wskBrowserClose
End If
Text1.Text = Text1.Text + dat_Data
Text1.Text = Text1.Text + vbNewLine + "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ wskProxy" + vbNewLine
Text1.SelStart = Len(Text1.Text)
End Sub

Private Sub wskProxy_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
wskProxy(Index).Close
DoEvents
wskProxy(Index).Connect "192.168.72.100", 3128
End Sub

---------------------------------------------------------

не очень сложный.
профессиональные программисты, помогите, проанализируйте код. мой шеф меня уже готов порвать ;-).
могу скинуть проект на почту.

Ответить

Номер ответа: 3
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #3
Добавлено: 04.09.04 11:09
За 10WM напишу безглючный исходник, без использования винсока и ещё с дополнительными фичами типа блокирования рекламы, определенных сайтов, просматриванием паролей и т. п. Стучать в асю 2068093

Ответить

Номер ответа: 4
Автор ответа:
 ISpy



Разработчик Offline Client

Вопросов: 47
Ответов: 621
 Web-сайт: intermult.boom.ru
 Профиль | | #4
Добавлено: 04.09.04 12:16
Что-то дешево берешь :))

Ответить

Номер ответа: 5
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #5
Добавлено: 04.09.04 12:42
просто для меня єто пустяково, я такое в садике делал :))

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам