Коннект через Winsock

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Dimon_G
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 16.10.2003 (Чт) 20:25

Коннект через Winsock

Сообщение Dimon_G » 11.11.2003 (Вт) 21:03

Привет товарищи :lol: . У меня такая проблема. есть приложение Клиент-Сервер. Коннект через TCP-протокол. И Клиента и Сервер запускаю на одном компе, при первом запуске все нормально коннект есть данные отсылаются. Но когда я закрываю клиента и снова запускаю(при этом сервер остаётся запущенным),то коннект не происходит. Подскажите пожалуйста причину проблемы и как от этой проблемы избавится. Заранее спасибо. :roll: :?:

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 12.11.2003 (Ср) 1:02

Дорогой мой...
Когда Сервер включается он у тебя слушает порт, когда кнему коннектится клиент и устанавливается соединение порт уже не слушается ... и также он не слушается когда связь "рвется"

а для того, чтобы у тебя Сервер снова слушал порт ты должен восстанавливать его в состояние "прослушки".

Код: Выделить всё
Private Sub Timer1_Timer()
If Winsock1.State <> 7 Then Winsock1.Listen
End Sub

Интервал таймера: ~ 200
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

Dimon_G
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 16.10.2003 (Чт) 20:25

Сообщение Dimon_G » 12.11.2003 (Ср) 15:39

:shock: Спасибо тебе :!:

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 13.11.2003 (Чт) 0:29

Всегда рад помочь :)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

Dagobert
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 141
Зарегистрирован: 21.12.2002 (Сб) 6:48
Откуда: Russia

Дополнение

Сообщение Dagobert » 14.11.2003 (Пт) 7:14

Лучше, вешать на прослушку один winsock, а на соединение другой.
Что-то вроде этого:
Код: Выделить всё
Private  Sub Winsock1_ConnectionRequest(acceptid)
Winsock2.Close
Winsock2.accept acceptid
end sub

А ещё лучше массив Winsock'ов для соединения.

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 18.11.2003 (Вт) 3:39

ага ... тогда ты сможешь постоянно "коннектится" с большим кол-вом клиентов по одному порту, точнее он у тя не занят будит :)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)


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

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

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

    TopList