| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Проблема с UDP |
| Автор: fippo 21.9.2008, 17:57 |
| Пишу программу которая должна подключится к серверу по UDP протоколу, послать запрос, и затем получить ответ. Для этого использую Indy, для отправки udpclient, для получения udpserver. Проблема в том, что сервер ничего не отвечает. Проверял через программу udp telnet, через неё сервер отвечает на команды, а в моей программе нет. Поискал на эту тему в интернете, нашёл, что клиент при отправке запроса должен указать серверу порт для того, чтоб сервер послал туда ответ (протокол udp). Так вот, в компоненте indy udp server указать клиентский порт нельзя, такой порт выбирается случайным образом. Более того, при открытии этого-же порта с пом. udp server_а, он выдаёт ошибку, что порт уже открыт. Подскажите пожалуйста, как можно средствами Delphi реализовать передачу и приём данных через udp. Возможно-ли это сделать с пом. Indy, или как-то через сокеты нужно? |
| Автор: Virtuals 22.9.2008, 11:30 | ||
| fippo, поуму писать на чистом апи а проще с использованием http://www.delphikingdom.com/asp/viewitem.asp?catalogid=657 с исходниками, так что сам со временем напишеш на апи, если захочеш, да и ошибки всегда исправить можно вот пример начальный с использованием этих компонент (для контры поиск сервака)
|
| Автор: fippo 22.9.2008, 17:01 |
| Большое спасибо, решил проблему, воспользовавшись компонентами ICS. Действительно, очень удобно |
| Автор: SneG0K 22.9.2008, 17:02 |
| На сервере и на клиенте порт нужно обязательно указывать!!! Иначе как клиент будет знать, куда отправлять? |
| Автор: darkmamba 13.5.2009, 02:36 | ||||
| Помогите отправить по UDP буфер ) Использую стандартный д7 компонент UDPSocket. Проблема в том , что тот буфер который нужно не отправляется. Отправляется стек вместо буфера. Я чето немогу понять как отправлять правильно, сама функция поинтеры не ест, как ей скормить оффсет на буфер..
как бы я не ухитрялся чето ниче не выходит, хоть на масме пиши =\ Код ~ такой
|