Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
hart
-
- Начинающий

-
-
- Сообщения: 19
- Зарегистрирован: 04.12.2003 (Чт) 22:44
hart » 13.10.2004 (Ср) 10:10
Ребят, помогите! Я пишу что-то вроде прокси, но при этом специально не шлю хвост клиента на сервер. Вроде, все должно быть просто. Написал, попробовал в рамках одного компа - все отлично работает, но в сети (при размещении моего прокси на другом компе) при событии Winsock1_ConnectionRequest выдается ошибка "wrong protocol". В чем может быть засада?
- Код: Выделить всё
Private Sub Command1_Click()
If Winsock1.State <> sckClosed Then Winsock1.Close
If Winsock2.State <> sckClosed Then Winsock2.Close
Label1.Caption = Label1.Caption + "-- Reset --" + vbLf
Winsock1.LocalPort = 1088 'Text1.Text
Winsock1.Listen
Label1.Caption = ""
Label1.Caption = Label1.Caption + "> listening at port " + Text1.Text + "..." + vbLf
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Winsock1.Protocol = sckTCPProtocol
Winsock2.Protocol = sckTCPProtocol
Command1_Click
End Sub
Private Sub Winsock1_Close()
Label1.Caption = Label1.Caption + "> Closed by Client" + vbLf
If Winsock1.State <> sckClosed Then Winsock1.Close
If Winsock2.State <> sckClosed Then Winsock2.Close
Winsock1.LocalPort = Text1.Text
Winsock1.Listen
Label1.Caption = Label1.Caption + "> listening at port " + Text1.Text + "..." + vbLf
End Sub
Private Sub Winsock2_Close()
If Winsock1.State <> sckClosed Then Winsock1.Close
If Winsock2.State <> sckClosed Then Winsock2.Close
Winsock1.LocalPort = Text1.Text
Winsock1.Listen
Label1.Caption = Label1.Caption + "> listening at port " + Text1.Text + "..." + vbLf
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Label1.Caption = Label1.Caption + "> requested from Client" + vbLf
If Winsock1.State <> sckClosed Then Winsock1.Close
If Winsock2.State <> sckClosed Then Winsock2.Close
Winsock2.LocalPort = 0
Winsock2.RemoteHost = "cache.pvt" '"10.0.0.1" 'Text2.Text
Winsock2.RemotePort = 3128 '1080 'Text3.Text
Winsock2.Connect
Text5.Text = Winsock2.LocalPort
Label1.Caption = Label1.Caption + "> connected to Server" + vbLf
Winsock1.Accept requestID
Text4.Text = Winsock1.RemotePort
Label1.Caption = Label1.Caption + "> request for Client accepted" + vbLf
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Label1.Caption = Label1.Caption + "> data recieved from Client" + vbLf
Dim str1 As String
Winsock1.GetData str1, , bytesTotal
Winsock2.SendData str1
Label1.Caption = Label1.Caption + "> data sent to Server" + vbLf
End Sub
Private Sub Winsock1_Error(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)
MsgBox "Client_winsock error: " & Description
End Sub
Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Label1.Caption = Label1.Caption + "> data recieved from Server" + vbLf
Dim str1 As String
Winsock2.GetData str1, , bytesTotal
Winsock1.SendData str1
Label1.Caption = Label1.Caption + "> data sent to Client" + vbLf
End Sub
Private Sub Winsock2_Error(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)
MsgBox "Server_winsock error: " & Description
End Sub
-
tyomitch
-
- Пользователь #1352

-

-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 13.10.2004 (Ср) 13:44
На первый взгляд всё правильно... В какой именно строке выдаётся ошибка?
-
hart
-
- Начинающий

-
-
- Сообщения: 19
- Зарегистрирован: 04.12.2003 (Чт) 22:44
hart » 13.10.2004 (Ср) 13:58
Ошибка "wrong protocol or connection state for the requested transaction or request" выпадает еще до выполнения первой строки из Sub Winsock1_ConnectionRequest.
-
tyomitch
-
- Пользователь #1352

-

-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 13.10.2004 (Ср) 14:35
Ошибка всегда происходит на какой-то строке, а не сама по себе...
Или ты про событие _Error?
-
hart
-
- Начинающий

-
-
- Сообщения: 19
- Зарегистрирован: 04.12.2003 (Чт) 22:44
hart » 13.10.2004 (Ср) 17:03
про error
-
hart
-
- Начинающий

-
-
- Сообщения: 19
- Зарегистрирован: 04.12.2003 (Чт) 22:44
hart » 13.10.2004 (Ср) 17:04
его номер: 40006
-
hart
-
- Начинающий

-
-
- Сообщения: 19
- Зарегистрирован: 04.12.2003 (Чт) 22:44
hart » 19.10.2004 (Вт) 10:32
up..
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, PetalBot, Yandex-бот и гости: 40