|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Чат при помощи Indy. Нет пересылки сообщений
Delphi 2010
используется: 1)idUDPClient 2)idUDPServer Свойства: Active:=true Host:='89.209.234.36' Port:=11247 Это свойства Client&Server Вот код посылки: Код:
idUDPClient1.Host:='89.209.234.36'; s:=nameofme+#8+Memo2.Text; IdUDPClient1.Send(s); Код:
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread; AData: TBytes; ABinding: TIdSocketHandle); var s:string; begin s:=pchar(Adata); Memo1.Lines.Add(s); end; Может ли этому быть причиной внешние IP адреса? |
#2
|
|||
|
|||
Может.
Отладься сначала на локальной машине (localhost), а потом уже смотри где тебя не пускают на внешний IP. |
#3
|
|||
|
|||
Данные проходят, только сервер их не ловит. Если обратишь внимание на процедуру:
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread; AData: TBytes; ABinding: TIdSocketHandle); Данные хранятся в классе TBytes. Попробуй так: Код:
IdUDPServer var stroka: TStringSteam; begin stroka:=TStringSteam.Create(''); stroka.CopyFrom(AData,AData.size); Memo1.Lines.Add(stroka.dataString); stroka.free; Так попробуй! Еще у обоих компонентов сделай свойство BROADCASTENABLED=TRUE. Последний раз редактировалось Admin, 23.07.2010 в 09:36. |
#4
|
|||
|
|||
Спасибо все уже решил с этой проблемой))Оказывается все работает, есть там некоторые проблемы конечно. Просто провайдер не дает ко мне прямые входящие соединения устанавливать,с чем это связано трудно сказать.Прокси не используется. Просто именно ко мне не было возможности послать сообщения. Если интересно то потом выложу полностью готовый релиз.
|
#5
|
|||
|
|||
А вобще там даже проще чем Вы говорите BytestoString функа
|
#6
|
|||
|
|||
Ну если интересно мнение о программе, то выложи. А вообще, кому как удобнее, в любом случае правильно.
Просто на будущее, если захочешь передавать не текст, а картинку, то прога выведет, либо ошибку, либо абру-катабру. В моем случае, можно из текстового потока выловить картинку, соответственно если поменять тип. Ну а впрочем, если изображения передавать не надо, то так тому и быть! |