Форум: "Начинающим";
Текущий архив: 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.46 MB
Время: 0.013 c