WinSock - Ошибка!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

WinSock - Ошибка!

Сообщение Memfivosfey » 28.02.2005 (Пн) 21:25

Помогите, немогу разобраться, у меня есть клиент и сервер, сервер должен давать команды клиенту, клиент должен принимать и выполнять, компы могут включаться и выключаться безконтрольно(тоесть в любое время) соответствно нужно, что бы как клиент так и сервер чувствовали себя хорошо, друг без друга(без Ошибок), и в любой момент соединялись, если нужно один раз или два раза и т.д., но у меня происходит ошибка, когда клиент отключается, повторно подключится не может, (10061 Connection is forcefully rejected ), почему это и как это решить? Заранее спасибо....
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 28.02.2005 (Пн) 22:02

Как решить? Использовать вместо TCP протокол UDP :) Там вообще нет понятия "соединение" :)
Моду создают модоки, а распространяют модозвоны.

Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Сообщение Memfivosfey » 28.02.2005 (Пн) 22:06

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

ism
Постоялец
Постоялец
 
Сообщения: 337
Зарегистрирован: 12.12.2001 (Ср) 12:59
Откуда: Russia, Saint-Petersburg

Сообщение ism » 28.02.2005 (Пн) 22:32

Один Winsock, способен работать только с одним соединением. Если нужно несеолько соединений - используй несколько Winsock.

И так для информации, UDP не гарантирует доставки и как уже сказано в нем нет понятия "соединение", но передача быстрее

Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Сообщение Memfivosfey » 01.03.2005 (Вт) 0:03

Сорри, мож я чего не так понял, выходит, что если мне необходимо два или более раз отключить и подключить снова клиент к серверу, то мне необходимо на каждый раз создавать новый WinSock? Реконект или рефреш предыдущему сделать нельзя?
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

artyuha
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 07.09.2004 (Вт) 3:47

Сообщение artyuha » 01.03.2005 (Вт) 1:39

Конечно можно, но сперва явно закрой порт wc.Close. Serega.I имел в виду несколько паралельно работающих соединений.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 01.03.2005 (Вт) 2:25

Тут наверное забыли про такое понятие как масив елементов (контролов)

:roll:

Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Сообщение Memfivosfey » 01.03.2005 (Вт) 9:56

В том -то и дело, что закрывать, я закрываю, но повторное подключение, всёравно не происходит... Я пробовал просто на клиенте при выходе ws.close, потом пробовал давать перед отключением клиента команду серверу "End" по которой сервер, выполняет свой ws.close, после заново на сервере устанавливаю RemoteHost, remotePort, и подключаю клиента, происходит именно та ошибка, которую я описал в начале...
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Сообщение Memfivosfey » 01.03.2005 (Вт) 10:43

Хорошо, тогда если кто в курсе, опишите
пожалуйста принципы работы с UDP протоколом, если можно поподробнее.... Спасибо...
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

snov
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 28.11.2003 (Пт) 10:12
Откуда: Челябинск

Сообщение snov » 01.03.2005 (Вт) 12:26

Memfivosfey писал(а):Хорошо, тогда если кто в курсе, опишите
пожалуйста принципы работы с UDP протоколом, если можно поподробнее.... Спасибо...
В UDP нет понятия сокета (канала). Это протокол негарантированной доставки пакетов. Вот тут описание и пример http://vbrussian.com/Article.asp?ID=68. Если коротко, то указываешь RemoteHost, RemotePort (куда отправляем) и делаешь Bind на порт откуда читаем

snov
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 28.11.2003 (Пт) 10:12
Откуда: Челябинск

Сообщение snov » 01.03.2005 (Вт) 12:51

Можно сделать на TCP нормально работающую прогу, но с массивом Winsock'ов. Принцип: Нулевой слушает порт. при подключении создает еще один элемент массива, который будет отвечать за работу с подключенным удаленным хостом и т.д. При отключении убиваем этот елемент. Сорри если получилось плохо объяснить

Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Сообщение Memfivosfey » 01.03.2005 (Вт) 12:54

Огромный сенкс, с удовольствием, выслушаю все советы по данной теме...
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 01.03.2005 (Вт) 13:01

Млин...Возьми пару стате прочти что ли...
http://www.vbstreets.ru/VB/Articles/66012.aspx
http://www.vbstreets.ru/VB/Articles/65986.aspx


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

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

Сейчас этот форум просматривают: Google-бот, Majestic-12 [Bot] и гости: 143

    TopList  
cron