Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Winsock Добавлено: 04.01.09 21:30  

Автор вопроса:  Aston | ICQ: 214-179-991 
И опять я беспокою.
Ребята подскажите плизз у меня проблемка. Сделав линию с помощью компонента Winsock между формами 1Сервера и 1Клиента передача туда и обратно идёт нормально. Потом в сервере вставил такой же элемент Winsock в массиве, который уже использует другую линию например первый 1001 а второй 1002. Написал 2 клиента которые коннектятся к серверу по второй линии и который тоже использовал линию 1002. Проблема состоит в том что коннектится почему то может только 1.(Тестил на одном компе - если это с этим связано, то сорри за беспокойство, но по логике должно и на 1 работать.) И если можно подскажите как можно сделать чтоб Winsock на сервере был один(если это возможно) и отправлял клиентам одну информацию и чтоб она доходила до всех клиентов сразу. И посоветуйте как лучше работать с массивом Winsock для нескольких клиентов?

Ответить

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

Номер ответа: 1
Автор ответа:
 @lex



Вопросов: 14
Ответов: 262
 Профиль | | #1 Добавлено: 04.01.09 23:48
  1. 'На форму Winsock(Winsock) и кнопку(Command1)
  2. Private Sub Form_Load()
  3. Winsock(0).LocalPort = 2009 ' С Новым Годом :P
  4. Winsock(0).Listen
  5. End Sub
  6. Private Sub Winsock_ConnectionRequest(Index As Integer, ByVal requestID As Long)
  7. Winsock(Index).Close
  8. Winsock(Index).Accept requestID 'При запросе подключаем Winsock
  9. Load Winsock(Index + 1) 'Подгружаем следующий
  10. Winsock(Index + 1).LocalPort = 2009
  11. Winsock(Index + 1).Listen 'И продолжаем слушать порт
  12. End Sub
  13. Private Sub Winsock_DataArrival(Index As Integer, ByVal bytesTotal As Long)
  14. MsgBox Winsock(Index).GetData, vbOKOnly, "Winsock " & Index
  15. 'Текст - полученные данные, заголовок - номер Winsock'а
  16. End Sub
  17. Private Sub Command1_Click()
  18. Dim N
  19. For N = 0 To Winsock.Count - 1 'Отправляем всем подключенным клиентам
  20. Winsock(N).SendData "С Новым Годом!"
  21. Next N
  22. End Sub

Что-то типа такого)

Ответить

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



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #2 Добавлено: 05.01.09 00:05
Я сам им не пользовался, но говорят протокол UDP винсокета допускает безадресную широковещательную рассылку, хотя и не гарантирует доставку.

Ответить

Номер ответа: 3
Автор ответа:
 @lex



Вопросов: 14
Ответов: 262
 Профиль | | #3 Добавлено: 05.01.09 00:09
Smith пишет:
хотя и не гарантирует доставку

Угу(( К сожалению не гарантирует:( И, сцуко, часто этим пользуется)

Ответить

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



Вопросов: 14
Ответов: 262
 Профиль | | #4 Добавлено: 05.01.09 00:10
Если не очень много клиентов то так как я написал проще и надежнее)

Ответить

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



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #5 Добавлено: 05.01.09 01:44
Алекс спасибо работает, я нашёл ещё неплохую статейку про него, чуть поболее о нём узнал.
http://www.vbcoding.org.ua/content/view/190/33/
Но твой пример мне помог ша буду подстраивать его так, чтоб он работал как мне надо, и буду массив элементов использовать и протокол ТСП, это упростит работу. И я даже не знал что для разных компов можно использовать один и тот же порт), думал для каждого разный, твой пример явно показал что можно и я его протестил - работает, и при новом подключении это сильно упрощает дело спасиб) Половину головгой боли решили)

Ответить

Номер ответа: 6
Автор ответа:
 @lex



Вопросов: 14
Ответов: 262
 Профиль | | #6 Добавлено: 05.01.09 02:11
Aston пишет:
И я даже не знал что для разных компов можно использовать один и тот же порт)

Мм... :-[ Скажу тебе по секрету, я тоже этого не знал *CRAZY* А написал просто не подумав))
Так что тебе тоже спасибо, буду знать) Иногда думать жопой полезно :)

Ответить

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



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #7 Добавлено: 05.01.09 14:40
Саш, аккуратней с такими рассуждениями. :)
Могут неправильно понять.

Ответить

Номер ответа: 8
Автор ответа:
 @lex



Вопросов: 14
Ответов: 262
 Профиль | | #8 Добавлено: 05.01.09 22:56
;D

Ответить

Страница: 1 |

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



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