Подмена Winsock

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Подмена Winsock

Сообщение TiG » 06.10.2005 (Чт) 11:34

Winsock1(0) слушает
Winsock1(1) получает Accept requestID, принимает данные
Вапрос:
если данные такие-то, то установить соединение по Winsock1(2), с пользователем который сейчас висит на Winsock1(1), и закрыть Winsock1(1).
Эта реально воще)?
Все мои игрушки мама разметало ураганом...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.10.2005 (Чт) 11:50

Ты бы хоть с матчастью ознакомился, прежде чем спрашивать.
Попробуй почитать MSDN.
Lasciate ogni speranza, voi ch'entrate.

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 06.10.2005 (Чт) 12:54

угу весь хэлп прочитал, теперь владею vb в совершенстве, но осталась одна непонятность, возможно или нет?
Все мои игрушки мама разметало ураганом...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.10.2005 (Чт) 13:20

Перечитай еще раз, там все сказано.
Lasciate ogni speranza, voi ch'entrate.

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 06.10.2005 (Чт) 16:01

угу еще раз перечитал и решил сделать по другому, но выскакивает ошибочка, просьба помочь разрбраться:

Сервер Winsock1(0) слушает, Winsock1(10) выдает ID и принимает данные. Если данные в норме, тогда присваивает Winsock1(101) ip и port клиента. Winsock1(101) отправляет коннект на клиент и вылетает ошибка, адрес ин юз.

Клиент коннектиться Winsock2 к серверу, отправляет правильные данные, слушает Winsock1 и готов к выдаче id, но сервер бедненький уже давно адресинюзается(( Пробовали отдельными контролами без индексов, все пашет, а вот с индексами не але...

Локальные порты слушающих контролов - сервера 1001, клиента 2001,
ip сервера 10.0.0.73, клиента 10.0.0.67

Код сервера
Код: Выделить всё

Dim priem As String

Private Sub Form_Load()
Winsock1(0).Listen
End Sub

Private Sub Timer1_Timer()
If priem = "/n***/p***" Then
Load Winsock1(101)
Winsock1(101).RemoteHost = Winsock1(10).RemoteHostIP
Winsock1(101).RemotePort = 2001
Text2.Text = Winsock1(101).RemoteHost
Text3.Text = Winsock1(101).RemotePort
Winsock1(101).Connect
End If
Timer1.Enabled = False
End Sub


Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
Load Winsock1(10)
If Winsock1(10).State <> sckClosed Then Winsock1(10).Close
Winsock1(10).Accept requestID
End Sub

Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Winsock1(10).GetData priem
Text1.Text = priem
Timer1.Enabled = True
End Sub


Код клиета:
Код: Выделить всё

Dim priem As String






Private Sub Command1_Click()
If Form1.Winsock2.State <> 7 Then Form1.Winsock2.Connect
Timer2.Enabled = True
End Sub

Private Sub Command2_Click()
Form1.Winsock2.Close
End
End Sub

Private Sub Form_Load()
Winsock1.Listen
End Sub

Private Sub Label3_Click()
Call ShellExecute(0&, "Open", "http://www.ghepard.narod.ru", "", "", 1)
End Sub



Private Sub Timer1_Timer()
Text2.Text = Form1.Winsock2.State
Text3.Text = Winsock1.State
End Sub

Private Sub Timer2_Timer()
If Form1.Winsock2.State = 7 Then
Form1.Winsock2.SendData "/n" & Text1(0).Text & "***" & "/p" & Text1(1).Text & "***"
End If
Timer2.Enabled = False
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData priem
Text4.Text = priem
End Sub
Все мои игрушки мама разметало ураганом...

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 06.10.2005 (Чт) 16:53

угу, запахало, вырубил предыдущие соединения и подождал пару сек, потом тока конектился, пашет...
Все мои игрушки мама разметало ураганом...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 99

    TopList