Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Вниз

winsock   Найти похожие ветки 

 
redlord   (2006-02-19 13:02) [0]

всем привет
народ подскажите можно ли и если да то как используя
функции библиотеки winsock осуществить следущее ??

нужно осуществить передачу пакета данных(1024 байт)
между двумя сокетами но приетом ни один из них ни является сервером (слушающим порт и следящим за событиями и сообщениями  )

тобиш ето как два (клиента)
на одном  вызвана функция RECV и данный процес висит в ней пока туда не придут данные (ето мнимый сервер )
а другой клиент эти данные скидывает первому


 
Anatoly Podgoretsky ©   (2006-02-19 13:20) [1]

UDP


 
redlord   (2006-02-19 20:29) [2]

UDP здес совсем ни причом хотя и очен похож .
реч идет о TCP.


 
GuAV ©   (2006-02-19 20:53) [3]

Если требуется без сервера, то TCP не решает данной задачи.
Хотя, думаю, следует раскрыть смысл требования "без сервера", "мнимый сервер".


 
Gnobobel   (2006-02-19 22:21) [4]

TCP сам по себе подразумевает наличие соединения. Если соединения нет, то и TCP нет. Пользуйся UDP или если тебе эти буквы не угодили пересылай по IP =).


 
redlord   (2006-02-19 23:00) [5]

может я неправилно понял принцип работы сокетов ?

запускаетса сокет который встает в режим прослушки порта который ему указали как тока к нему будет подключение
на стороне сервера будет создан ешо один сокет для передачи и приема данных от клиента


 
RO   (2006-02-20 14:13) [6]


> redlord   (19.02.06 20:29) [2]
> UDP здес совсем ни причом


Очень даже "причом".
Именно UDP-сокет способен сразу после активации (безо всяких listen) выполнять recv() и получать сообщения от других UDP-сокетов без установления соединения как такового.


> реч идет о TCP


А вот ТСР здесь как раз "ни причом", потому что ТСР-сокет может быть либо "слушающим" (см. ф-цию winsock.listen - ф-цию, переводящую сокет в режим ожидания запросов потенциальных клиентов на подключение) либо приемо-передающим (send/recv)


 
GuAV ©   (2006-02-20 14:37) [7]


> запускаетса сокет который встает в режим прослушки
> порта который ему указали как тока к нему будет
>подключение
> на стороне сервера будет создан ешо один сокет для
> передачи и приема данных от клиента

Да.
И чем такая схема не устраивает ?


 
redlord   (2006-02-25 01:16) [8]

почему UDP неподходит потому что клиент не мой и уже написан с использованием TCP

TO GUAV
данный сервер обслуживает всего одного клиента на протяжении всего лиш одного пакета после чего соединение уничтожается и слушать боле ничего не надо.
тобиш еслиб это было возможным(создать програмно сокет который создается слушающим сокетом) то слушающий сокет просто лишний


 
Defunct ©   (2006-02-25 05:01) [9]

> между двумя сокетами но приетом ни один из них ни является сервером (слушающим порт и следящим за событиями и сообщениями  )

> redlord   (25.02.06 01:16) [8]


Так сделать нельзя. Невозмножно ничего принять "не слушая".
Должно быть либо один либо два сервера (сокета в режиме Listening). Если на одной машине - то серверы с разными номерами портов. Протокол не важен, но UDP предпочтительнее. Вы говорите что клиент уже написан под TCP и он очень прост - отсылает только одно сообщение. Так перепишите клиента под UDP, посылайте broadcast - тогда не нужно будет знать даже адреса сервера.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.015 c
4-1135072687
Volf_555
2005-12-20 12:58
2006.03.12
Как вывести на экран все иконки из dll-файла?


15-1140099215
Loginov Dmitry
2006-02-16 17:13
2006.03.12
Синхронизация таблиц БД


15-1140338017
Firefly
2006-02-19 11:33
2006.03.12
Работа с текстом


2-1140982178
WestBronx
2006-02-26 22:29
2006.03.12
Список файлов в папке


2-1140700066
VitV
2006-02-23 16:07
2006.03.12
Смена цвета кнопки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский