Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.051 c
2-1140535462
zxcv
2006-02-21 18:24
2006.03.12
как освобождать память, выделенную под массив


2-1140614072
nap<>
2006-02-22 16:14
2006.03.12
SQL


2-1140965267
WestBronx
2006-02-26 17:47
2006.03.12
Папка "Автозаргузка" и данные из ярлыка.


15-1140197456
Ученик чародея
2006-02-17 20:30
2006.03.12
Как можно уменьшить сложность разработки больших комплексов.


4-1135073467
davinchi
2005-12-20 13:11
2006.03.12
Как дождаться окончания загрузки Win98