Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сокеты

1.8K
16 марта 2004 года
binaryshadow
36 / / 02.12.2002
Проблема в следующем: немогу понять почему работает неправильно.

А дело обстоит так, создаю две программы с двумя сокетами. Ставлю на прослушивание сообщений один и тот же порт. Пишу две функции, первая - отправляет на адрес 255.255.255.255 символ с ascii кодом 255 (можно и другой) на порт 3000, вторая - слушает локальный порт 3000 и если видет символ 255 отправляет на этот же адрес и порт имя компа.

Так вот, запускаю эту прогу на 2-х машинах и жму на кнопку "обновить" (первая функция). после первого нажатия я получаю имена 2 машин, а после второго только локальное имя.
Как сделать так, чтобы можно было всегда при нажатии этой кнопки получать список?
Если что, могу выложить исходник.
319
16 марта 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by binaryshadow
Проблема в следующем: немогу понять почему работает неправильно.

А дело обстоит так, создаю две программы с двумя сокетами. Ставлю на прослушивание сообщений один и тот же порт. Пишу две функции, первая - отправляет на адрес 255.255.255.255 символ с ascii кодом 255 (можно и другой) на порт 3000, вторая - слушает локальный порт 3000 и если видет символ 255 отправляет на этот же адрес и порт имя компа.

Так вот, запускаю эту прогу на 2-х машинах и жму на кнопку "обновить" (первая функция). после первого нажатия я получаю имена 2 машин, а после второго только локальное имя.
Как сделать так, чтобы можно было всегда при нажатии этой кнопки получать список?
Если что, могу выложить исходник.


не понял в чем разница между 2 именами. Что ты называешь локальным именем? и какое имя отбражается в первый раз?

258
16 марта 2004 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by binaryshadow
Проблема в следующем: немогу понять почему работает неправильно.

А дело обстоит так, создаю две программы с двумя сокетами. Ставлю на прослушивание сообщений один и тот же порт. Пишу две функции, первая - отправляет на адрес 255.255.255.255 символ с ascii кодом 255 (можно и другой) на порт 3000, вторая - слушает локальный порт 3000 и если видет символ 255 отправляет на этот же адрес и порт имя компа.

Так вот, запускаю эту прогу на 2-х машинах и жму на кнопку "обновить" (первая функция). после первого нажатия я получаю имена 2 машин, а после второго только локальное имя.
Как сделать так, чтобы можно было всегда при нажатии этой кнопки получать список?
Если что, могу выложить исходник.



Че-то я не понял о каком списке ты говоришь... ты же сам написал что в ответ на запрос уходит - имя компа и все, ну вот оно у тебя и приходит на первый комп... в чем трабл?

1.8K
16 марта 2004 года
binaryshadow
36 / / 02.12.2002
Вот код программы:

'Очищаем список с именами и посылаем в сеть символ 255, для того чтобы другие компы прислали свои имена.
Private Sub Command2_Click()
List2.Clear
SockA.SendData Chr(255)
End Sub

Private Sub Form_Load()
SockA.LocalPort = 3000
SockA.RemotePort = 3000
SockA.RemoteHost = "255.255.255.255"

SockA.Bind SockA.LocalPort, SockA.LocalIP
End Sub

Private Sub SockA_DataArrival(ByVal bytesTotal As Long)
Dim strData As String

SockA.GetData strData
If strData = Chr(255) Then
SockA.SendData Text1.Text 'Локальный IP
Else
List2.AddItem strData
End If
End Sub
258
16 марта 2004 года
SergeySV
1.5K / / 19.03.2003
Ну, хорошо и в чем же трабл? по ходу код ясен, может только добавить контроль переменной strData, не пихать ее сразу в ListBox, я уж просто не помню, надо уточнить, но winsock может добавить пару спец символов в strData, так что ее нужно проверить на нормальность
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог