Winsock ошибочка

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
VINNY-PYX
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 125
Зарегистрирован: 02.02.2004 (Пн) 17:24
Откуда: из роддома

Winsock ошибочка

Сообщение VINNY-PYX » 01.03.2004 (Пн) 15:58

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

Run-time error "40006"
Wrong protocol or connection state for requested transaction or request

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

Сообщение alibek » 01.03.2004 (Пн) 16:01

Перевожу.
Ошибка выполнения #40006.
Неверный протокол или состояние для запрашиваемой транзакции или запроса.
Lasciate ogni speranza, voi ch'entrate.

VINNY-PYX
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 125
Зарегистрирован: 02.02.2004 (Пн) 17:24
Откуда: из роддома

Сообщение VINNY-PYX » 01.03.2004 (Пн) 17:56

Я не идиот и я знаю английский!

Я спрашивал, как её исправить!

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

Сообщение hCORe » 01.03.2004 (Пн) 18:34

Собственно говоря, где происходит ошибка? В работе с базами данных? Тогда милости просим в раздел БД с подробным описанием проблемы и исходниками, а также названием используемой системы (SQL Server, MS Access, DBASE...). Или в работе с интернет-ресурсом? Или с каким-то сторонним ActiveX'ом? Вопросы задавать надо точнее, товарищи :twisted:
Моду создают модоки, а распространяют модозвоны.

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 01.03.2004 (Пн) 19:41

есть несколько вариантов...

1) ты пытаешься отправить данные, когда соединение ещё не установлено. проверяй свойство winsock.state: sckConnecting ; sckConnected ; sckConnecting ; sckListening ; sckClosed (это самые основные). отправлять данные естественно надо при sckConnected.
2) в Winsock_ConnectionRequest ты не поставил:
Код: Выделить всё
winsock.Close
winsock.Accept requestId

может ты прорустил winsock.Close ?
3) ты начинаешь слушать порт когда не надо. перед winsock.listen ставь winsock.close
4) ты каким-то образом умудрился получить данные через winsock.getdata когда соединение не установлено ...
5) ты пытаешься соедениться когда слушается какой то порт или есть активное соединение. перед winsock.connect ставь winsock.close

вобщем может быть много вариантов. просто не забывай перед каждым winsock.connect , listen , accept ставить winsock.close.

VINNY-PYX
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 125
Зарегистрирован: 02.02.2004 (Пн) 17:24
Откуда: из роддома

Сообщение VINNY-PYX » 01.03.2004 (Пн) 21:18

ААААААААААААХХХХХХХХХХХ!
Мне уже надоело по двадцать раз писать одно и тоже.
Опять что-то не то!
:x Напишите то, чтобы вы сами написали, создавая сетевое приложение, а то у меня руки не из того места ростут :oops: :cry: :( .

GRS
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 186
Зарегистрирован: 29.02.2004 (Вс) 22:23
Откуда: Казахстан, Алматы

Сообщение GRS » 01.03.2004 (Пн) 21:56

Если тебе это поможет, то вот ссылка на материал о том, как написать... короче, прочти, будет полезно в любом случае! :D
http://visualbasic.boom.ru/articles/hac ... index.html
Встану рано утром, выпью чашку ртути... Всё равно я сдохну в этом институте...

Alfa
Бывалый
Бывалый
 
Сообщения: 249
Зарегистрирован: 12.01.2003 (Вс) 20:15
Откуда: Россия, Красноярск

Ответ

Сообщение Alfa » 03.03.2004 (Ср) 8:19

Ты пиши, где именно у тебя ошибка, если сможем, то поможем.
Изображение

VINNY-PYX
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 125
Зарегистрирован: 02.02.2004 (Пн) 17:24
Откуда: из роддома

Сообщение VINNY-PYX » 12.03.2004 (Пт) 16:56

Ну, вот!
Я создал проектик (специально для вас), в котором возникает у меня ошибочка.
Вложения
чат.rar
Это элементарный чат. Не смеятся! Я не это делаю! Я сделал его за 3 минуты. Найдите ошибку!
(9.9 Кб) Скачиваний: 38

VINNY-PYX
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 125
Зарегистрирован: 02.02.2004 (Пн) 17:24
Откуда: из роддома

Сообщение VINNY-PYX » 13.03.2004 (Сб) 21:52

И что? Говорили, что поможите, :!: а вот уже 2 дня не помогаете! :evil:

ПОЖАЛУЙСТА, скажите в чем дело, а то я сочту, что вы на словах только умеете помагать! :evil: :(

Tauron
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 187
Зарегистрирован: 14.07.2002 (Вс) 17:43
Откуда: Kazakhstan

Сообщение Tauron » 15.03.2004 (Пн) 19:49

Тебе уже ответили. Пост v-adix'a п2.
Трезвая голова, холодный ум и ледяное сердце.

VINNY-PYX
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 125
Зарегистрирован: 02.02.2004 (Пн) 17:24
Откуда: из роддома

Сообщение VINNY-PYX » 16.03.2004 (Вт) 16:07

ААААААААААААААААААААААААААА!

Ну вы можете написать то, как надо писать или внести изменеие в файл и отправить! Или ни ккто не может это сделать, потому что всего лишь теоретик! А теория мне не нужна- нужна практика!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 16.03.2004 (Вт) 18:37

Короче! Хватит стонов и воплей - вы не цензура. Читайте MSDN Q183987 и все.

smartlink
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 22.01.2004 (Чт) 6:51
Откуда: Tashkent

Сообщение smartlink » 18.03.2004 (Чт) 17:05

Я тоже столкнулся с этой проблемой и решил ее, но работает немного крыво :(. Я хотел написать программу типа Чат. Дело вот в чем, к серверу может подключится несколько клиентов (не считал сколько, но теоритически очень много), при подключении к серверу для клиента создается новый винсок ( с помощью array). И каждый клент имеет свой винсок. И так проблема в том, что при отправки сообщения от клиента, все получает ее. Если через сервера отправлять сообщения, то одному из клиенту не "доходит", но все ранее отправленные сообщения выводтся только тогда, когда через другого клиента отпавляется какое либо сообщение. Что удивительно, если использовать F8 вроде все работает (проект клиента я сделал несколько копий и запустил их). Посмотрите, может новые идеи появятся или найдете какие нибудь ошибки в коде. Пожалуста дайте знать если их обнаружите.
Вложения
WinSock.rar
(6.07 Кб) Скачиваний: 41

smartlink
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 22.01.2004 (Чт) 6:51
Откуда: Tashkent

Сообщение smartlink » 19.03.2004 (Пт) 7:12

smartlink писал(а):Пожалуста дайте знать если их обнаружите.


Если что скинте на мыло djam388@mail.ru

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 19.03.2004 (Пт) 15:24

VINNY-PYX писал(а):Ну, вот!
Я создал проектик (специально для вас), в котором возникает у меня ошибочка.


а впускать клиента кто будет? бедный клиент стучится, стучится а сервер ему дверь не открывает! добавь в код сервера:

Private Sub server_ConnectionRequest(ByVal requestID As Long)
server.Close
server.Accept requestID
End Sub

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Сообщение JohnK » 20.03.2004 (Сб) 4:20

Я с этой траблой так поступил!


Call SendTo(sss, User(i).Sock)

User(i).Send = False: While User(i).Send = False
DoEvents: Wend


Private Sub WS_SendComplete(Index As Integer)
User(Index).Send = True
End Sub

Получается что он (сервер) не успевает отправить данные...
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

йуйцу

Сообщение v-adix » 20.03.2004 (Сб) 10:40

в этом случае то что ты написал бессмысленно, это делают когда надо передать большой обём данных. в случае чата сервер всё прекрасно успевает отправить и получить, это во-первых. а во-вторых как ты отправишь данные если "wrong socket state"? эта ошибка значит что ты не можешь, например, отправить данные при несоедененном сокете!

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Сообщение JohnK » 21.03.2004 (Вс) 3:10

Не буду спорить у меня все ок!
Если нужно приведу полный пример или вышлю для пробы свой чат (готовый)
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

VINNY-PYX
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 125
Зарегистрирован: 02.02.2004 (Пн) 17:24
Откуда: из роддома

Сообщение VINNY-PYX » 22.03.2004 (Пн) 21:57

v-adix, спасибо, но я уже сам догадался! :wink: :lol: :D :) :o :!:

Точнее обратился к справочной литературе!


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

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

Сейчас этот форум просматривают: Google-бот и гости: 3

    TopList  
cron