Главная страница
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.049 c
2-1141044851
dera
2006-02-27 15:54
2006.03.12
как сделать исключение для SQL-запроса?


4-1135118283
Delphi_is_cool
2005-12-21 01:38
2006.03.12
Как добавить строку


3-1134036658
Stealth
2005-12-08 13:10
2006.03.12
MySQL и Multiple-step operation generated errors


2-1140526972
Alex_C
2006-02-21 16:02
2006.03.12
Как "пишать" через динамик?


2-1140890806
kreyl
2006-02-25 21:06
2006.03.12
Что внутри Variant?