Нужен компонент для Делфи

  • Автор темы Guest
  • Дата начала
G

Guest

Очень нужен компонент(ы) для Делфи, которым можно отправлять и получать текстовые сообщения в локальной сети.
 
A

Anonymous

В стандартной поставке Delphi есть такие компоненты. TServerSocket, TClientSocket.
Не нравятся эти компоненты, возьми Indy. Там вообще тьма возможностей.
 
G

Guest

А чё нить попроще, чтобы all-in-one был (клент+сервер).
 
A

Anonymous

Nonick":3v7rov8z сказал(а):
А чё нить попроще, чтобы all-in-one был (клент+сервер).

А какая разница? Два компонента положить на одну форму не судьба?
Куда же проще-то. По крайней мере они работают надежно. Правда в Дельфи 7 ServerSocket и ClientSocket помечены как устаревшие. Так что лучше возьми Indy.
Что ты сделать-то хочешь?
 
G

Guest

Вобщем хочу сделать подобие примитивного чата. Indy вообще никогда не использовал, только сейчас поставил. Посмотрел чат с использованием Indy, но там сервер-отдельная прога, а это очень не удобно. Может стоит использовать протокол UDP?
 
A

Anonymous

Nonick":3a8ibtw8 сказал(а):
Вобщем хочу сделать подобие примитивного чата. Indy вообще никогда не использовал, только сейчас поставил. Посмотрел чат с использованием Indy, но там сервер-отдельная прога, а это очень не удобно. Может стоит использовать протокол UDP?

А где ты собираешься в этом случае хранить учетные записи клиентов, сидящих в твоем чате? Им-то ведь нужно будет при входе в чат соединяться с чем-то. Опять же учетные записи и пароли зарегистрированных пользователей где-то нужно хранить. Сервер все равно где-то должен быть установлен. На нем по крайнем мере нужно держать список пользователей.
UDP можно использовать при отправке сообщений от клиента к клиенту, минуя сервер.
Только, если будешь брать Indy, то бери версию не ниже 9. В 8-ке народ жаловался на утечки памяти.
 
G

Guest

Я хочу сделать очень примитивный чат. Выглядеть это будет примерно так:
в проге будет список с с именами и ИП адрессами, если клиент из списка онлайн, то ему отправляеться сообщение(например с использованием UDP).
Вот я и ищу компонент, который заточен под отправку и получение текстовых сообщений.
 
A

Anonymous

Nonick":ywq4aklh сказал(а):
Я хочу сделать очень примитивный чат. Выглядеть это будет примерно так: в проге будет список с с именами и ИП адрессами, если клиент из списка онлайн, то ему отправляеться сообщение(например с использованием UDP).
Ну, если все настолько просто, и ip-адреса заранее известны всем, то можно сделать и на основе UDP. Тогда отдельная прога-сервер не нужна. У каждого клиента будет этот перечень ip-адресов.
Но только все равно там 2 компонента UDP-клиент и UDP-сервер.
 
G

Guest

У меня Делфи 6 там в палитре компонентов на закладке FastNet есть компонент NMUDP. Там вроде и сервер и клиент в одном.
 
A

Anonymous

Nonick":r39d8fjl сказал(а):
У меня Делфи 6 там в палитре компонентов на закладке FastNet есть компонент NMUDP. Там вроде и сервер и клиент в одном.
Ну да, был такой компонент. В 7-ке его уже вроде нет (во всяком случае в палитре компонентов я его не вижу). Правда я им не пользовался. Так что, увы, не могу сказать, насколько он хорош. Нужно пробовать.
 
G

Guest

В принципе тему можно закрывать. Прогу я уже сделал и сейчас тестирую.
Кому надо берите тут ftp://10.0.1.35/chat.exe.Пока прога очень сырая.
 
G

Guest

У пртокола UPD заметил один БОЛЬШОЙ недостаток-сообщения иногда не доходят или доходят, но не полностью. Подскажите альтернативу UDP.
 

gram

Старожил
tcp/ip :) либо устрой подобие подтверждения о доставке через UDP
 
G

Guest

gram":o99c6n18 сказал(а):
tcp/ip :) либо устрой подобие подтверждения о доставке через UDP

Проблема в том, что я не знаю как сделать подтверждение о доставке.
 

gram

Старожил
а зачем ты вообще взялся за udp, если все ip адреса известны?
по udp хорошо передавать что-нибудь типа музыки, видео, где потеря не так смертельна, зато сеть не загружается дополнительным траффиком
 
G

Guest

gram":18gh3qt5 сказал(а):
а зачем ты вообще взялся за udp, если все ip адреса известны? по udp хорошо передавать что-нибудь типа музыки, видео, где потеря не так смертельна, зато сеть не загружается дополнительным траффиком
Вот я и ищу комнонент (альтернативу NMUDP), заточенный под отправку и получение сообщений. За udp взялся, т.к. в делфи проще всего отправить сообщение через udp.
 
A

Anonymous

На мой взгляд ты просто зациклился на том, чтобы это обязательно был один компонент. Что плохого с того, что это будут 2 отдельных компонента: клиент и сервер, которые будут лежать на одной форме. Все равно, что в твоем случае, что в случае этих 2 компонентов тебе все равно нужно определить как минимум 2 обработчика: на прием и передачу сообщений. Какая разница, если они будут в разных компонентах.
UDP-протокол действительно не гарантирует доставку сообщения. Но в этом случае не нужно устанавливать соединение между 2 компьютерами (вот проблема выполнить одну строку кода)
TCP/IP - гарантирует доставку, но требует соединения.
Сделать можно и так, и так, но надежнее будет конечно использовать TCP/IP. А городить огород с подтверждением доставки по UDP, на мой взгляд, незачем. Кому нужно изобретать велосипед.
 
A

Anonymous

gram":3m2xoa4q сказал(а):
Вот так и появляются убогие и кривые проги :)))
Ну зачем же обижать человека. Всегда может найтись другой человек, который и про твою прогу скажет, что она кривая. А кто-то вообще не знает, что такое UDP.
Он же только учится. А учебы без шишек не бывает :)).
 
G

Guest

Посмотрел пример чата с использование tcp\ip. Как то там всё не по человечески - можно быть сервером, можно коннектиться к серверу.
В связи с этим возник вопрос: можно ли использовать TClientSocket только для отправки сообщений(в остальное время он не активен)- подключение к серверу и отправка, а TServerSocket для приёма сообщений?
 
Верх