Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Кто работал с сокетом Добавлено: 14.01.04 18:49  

Автор вопроса:  univercal | Web-сайт: univercal-s.narod.ru | ICQ: 173084484 

Кто работал с сокетом в VB - в чем смысл ошибки "Address in use"?

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 KAM



ICQ: 190197618 

Вопросов: 25
Ответов: 97
 Профиль | | #1 Добавлено: 14.01.04 19:00

Ну вот пример:

Запущен сервер, слушающий 200-ый порт. Если запустить ещё раз этот же сервер (не вырубая первого), то ничего не выйет, ибо всё занято первым сервером...

Я избегаю этого так:

Private Sub Form_Load()

If App.PrevInstance = True Then End

End Sub

Не исключено, что мой метод очень примитивен, и есть другие способы, гораздо лучше моего.

Ответить

Номер ответа: 2
Автор ответа:
 univercal



ICQ: 173084484 

Вопросов: 5
Ответов: 76
 Web-сайт: univercal-s.narod.ru
 Профиль | | #2
Добавлено: 14.01.04 19:15

Form_Load():

sckSocket1.LocalPort=80

sckSocket1.Lister

sckSocket1_ConnectionRequest():

sckSocket1.Close

sckSocket1.Accept requestId

sckSocket2.LocalPort = GetNewPort 'Выдает мне свободный порт

sckSocket2.Connect Address, Port

Примерно так это работает... На инструкции Connect вылетает ошибка... И никаких занятых портов и пр.

Ответить

Номер ответа: 3
Автор ответа:
 univercal



ICQ: 173084484 

Вопросов: 5
Ответов: 76
 Web-сайт: univercal-s.narod.ru
 Профиль | | #3
Добавлено: 14.01.04 19:17

Тьфу... Сорри, форум глючит...

Админы!

CInt вылетает с Overflow, т.к. ID > 32767 (id - параметр запроса HTTP GET). Видимо так :)

Ответить

Номер ответа: 4
Автор ответа:
 NeForm@t



ICQ: 252999255 

Вопросов: 36
Ответов: 247
 Web-сайт: g--k.newmail.ru
 Профиль | | #4
Добавлено: 14.01.04 20:11

Короче перед ошибкой поставь

Winsock1.Close

А вообще используй юзер контрол DaSharm'a(newrate.boom.ru)(Тяга1.5)

Ответить

Номер ответа: 5
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #5 Добавлено: 15.01.04 10:10

Если нужно повесить на тот же порт - используй dssocket вместо winsock, там есть флаг ReUseAddress. Либо юзай API setsockopt с тем же флагом.

Ответить

Номер ответа: 6
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #6 Добавлено: 15.01.04 10:35

Если нужно повесить на тот же порт - используй dssocket вместо winsock, там есть флаг ReUseAddress. Либо юзай API setsockopt с тем же флагом.

Блин, еще и на сайте глюки, сообщения не уходят...

Ответить

Номер ответа: 7
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #7 Добавлено: 15.01.04 11:48

Уау! Вот это глюк!

Ответить

Номер ответа: 8
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #8
Добавлено: 15.01.04 19:43
Глюки устранены.

Ответить

Номер ответа: 9
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #9 Добавлено: 16.01.04 10:02

Юх ты... Через 25 минут таже мессага... Админы-ы-ы-ы-ы!!!! Вы где??

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам