Страница: 1 |
Вопрос: помогите плиз! подсчет инетовского трафика. | Добавлено: 03.09.04 14:21 |
Автор вопроса: ![]() |
что есть в наличии:
1 - комп. салон 2 - прокси-сервер 3 - на каждом компе стоит моя программа-блокировщик. что необходимо: сколько ушло трафика с клиентского компа на прокси-сервер. как думаю делать: на клиентском компе поставить программу, к которой будет коннектиться браузер и которая сама коннектиться к прокси-серверу, программа посчитает байты и переправит пакеты на прокси-сервер. обратно по такой же схеме. что получилось: переправка пакетов, НО : 1 - есть тормоза (это не очень существенно) 2 - при получении от браузера пакета, я отправляю его на прокси-сервер (это происходит без проблем), потом я получив пакет от прокси-сервера пытаюсь переслать пакет браузеру, но соединение на этом винсоке закрыто (это бывает редко и только на тормозных страницах). может есть какой-нибудь человек, который делал подобное. или может можно по-другому сделать? это ОЧЕНЬ ВАЖНО. пожалуйста, помогите!!!!! почта: er_admin@ok.kz |
Ответы | Всего ответов: 5 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 343368641 Вопросов: 17 Ответов: 686 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 03.09.04 16:44 |
Может и делали подобное...
Но наврятли кто-то тебе даст рабочий отлаженый код... ![]() Так что ручками все надо... ручками... Идея у тя есть.. так-что дерзай ![]() |
Номер ответа: 2 Автор ответа: ![]() ![]() Вопросов: 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 Автор ответа: ![]() ![]() ICQ: 780477 Вопросов: 72 Ответов: 1297 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 04.09.04 11:09 |
За 10WM напишу безглючный исходник, без использования винсока и ещё с дополнительными фичами типа блокирования рекламы, определенных сайтов, просматриванием паролей и т. п. Стучать в асю 2068093 |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 47 Ответов: 621 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 04.09.04 12:16 |
Что-то дешево берешь ![]() |
Номер ответа: 5 Автор ответа: ![]() ![]() ICQ: 780477 Вопросов: 72 Ответов: 1297 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 04.09.04 12:42 |
просто для меня єто пустяково, я такое в садике делал ![]() |
Страница: 1 |
|