Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Обсуждение статей
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2009, 20:42   #151
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию Про иконки в списке...

Есть такой компонент в проекте, называется ImageList1, ...двойной клик на нем и откроется формочка - это редактор, туда можно добавлять картинки. Я поместил туда только два рисунка, вам нужно поместить еще один, тот что будет ассоциироваться с неактивным пользователем. Полагаю, вы уже встречались с классом TListItem. Так вот, мы получаем доступ к картинкам списка через переменную UItems, вот так:
Код:
UItems:=UserListView.Items.Add;
UItems.ImageIndex:={индекс};
Т.к. UserListView связан с банком картинок ImageList1 через свойство SmallImages, то мы, указав индекс, сразу передаем картинку из банка в список, ...все на автомате.

Думаю, вам стоит поизучать стандартные компоненты, попрактиковаться, а потом пробовать написать чат. Простой подстановкой вы ничего не добьетесь, ...только знание и логическое их применение.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 14.05.2009, 21:20   #152
mnbvcxz11
Пользователь
 
Аватар для mnbvcxz11
 
Регистрация: 07.05.2009
Сообщений: 36
Вопрос Создание сервера

Я бы хотел понять всю структуру

Вот есть клиент у него выход в Интернет

Есть сервер Какие настройки надо для сервера (Оборудование, разрешение) Чтобы через интернет сигнал до клиента дошел и обратно (с клиента к серверу)
Объясните с нуля

Нужен ли хостинг? Или это только для Html
Что нужно для создания сервера подробней перечислите

По локальной с использования сокетов получается

Кстати вот этот код работает автоматически на форме или нет
Код:

procedure TForm1.UpdateBanMassiv;
var n: integer;
begin
for n:=0 to MBanIPs.Lines.count-1 do
BanMas[n]:=(MBanIPs.Lines[n]);
end;

Последний раз редактировалось mnbvcxz11; 14.05.2009 в 21:30.
mnbvcxz11 вне форума Ответить с цитированием
Старый 14.05.2009, 22:05   #153
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от mnbvcxz11 Посмотреть сообщение
Кстати вот этот код работает автоматически на форме или нет
Код:

procedure TForm1.UpdateBanMassiv;
var n: integer;
begin
for n:=0 to MBanIPs.Lines.count-1 do
BanMas[n]:=(MBanIPs.Lines[n]);
end;
Я эту процедуру не писал, спросите у автора. Очевидно он загнал ее отдельно, чтобы не писать каждый раз, ...использует вызов UpdateBanMassiv; когда потребуется.

Вообще, чат работает везде, и в локальных сетях и в интернете. Одно требование к серверу есть, ...нужно чтобы сервер висел на прямом IP-адресе, т.е. и внешний, и внутренний у него одинаковый. Можно попросить провайдера не затирать вам IP, а давать общий. Если это вообще серверная машина, подключенная к Интернету, то у нее IP фиксированный.

К клиенту никаких претензий, хоть из под земли коннектись.

Для подключения к серверу нужен его IP-адрес и порт. Связь устанавливается двунаправленная TCP/IP. Если у нас сервер только для чата, то блокируем навсегда протокол UDP и пользуем TCP/IP.

В качестве сервера может быть использована любая машина, подключенная к сети Интернет, и имеющая прямой IP-адрес. Можно коннектиться по хосту, но это будет медленней, и если будут совпадения, то попадете не на тот сервер, если порт совпадет )
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 15.05.2009, 07:00   #154
mnbvcxz11
Пользователь
 
Аватар для mnbvcxz11
 
Регистрация: 07.05.2009
Сообщений: 36
Вопрос Создание сервера

По ответу

Вообще, чат работает везде, и в локальных сетях и в интернете. Одно требование к серверу есть, ...нужно чтобы сервер висел на прямом IP-адресе, т.е. и внешний, и внутренний у него одинаковый. Можно попросить провайдера не затирать вам IP, а давать общий. Если это вообще серверная машина, подключенная к Интернету, то у нее IP фиксированный.

К клиенту никаких претензий, хоть из под земли коннектись.

Для подключения к серверу нужен его IP-адрес и порт. Связь устанавливается двунаправленная TCP/IP. Если у нас сервер только для чата, то блокируем навсегда протокол UDP и пользуем TCP/IP.

В качестве сервера может быть использована любая машина, подключенная к сети Интернет, и имеющая прямой IP-адрес. Можно коннектиться по хосту, но это будет медленней, и если будут совпадения, то попадете не на тот сервер, если порт совпадет )
__________________




У меня Интернет через модем ADSL D-Link я не знаю можно ли его использовать подскажите (где IP адрес для сервера и какой порт надо где его искать (порт можно любой ставить непонятно))

Что за прямом IP-адрес, внешний, и внутренний у него одинаковый.

Что за протокол UDP
Что за TCP/IP.

Как коннектиться по хосту
mnbvcxz11 вне форума Ответить с цитированием
Старый 15.05.2009, 15:23   #155
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию Подробнее...

mnbvcxz11, честно скажу, не ожидал таких вопросов любой пользователь компьютера со стажем работы максимум 1 год уже это все знает. Посему буду на ты, может так спокойнее.

Ну что же, будем выручать.
Цитата:
Сообщение от mnbvcxz11
Что за протокол UDP?
Что за TCP/IP?
Открываешь любой поисковик Яндекс, Google, Rambler, набираешь "протокол UDP структура принцип" или "протокол TCP/IP структура принцип" читаешь и просвещаешься.
Скажу одно, в программе используется протокол TCP/IP, и соответственно, TServerSocket и TClientSocket для этого протокола. В чем удобство? ...на каждого клиента имеется собственный канал, информация по нему передается в оба направления, от сервера клиенту и от клиента серверу, ...без канала связь не работает. В сокетах все делается на автомате, т.е. большинство рутинной работы по соединению и синхронизации выполняется без нашего вмешательства. Если нам нужно разорвать связь, мы закрываем канал конкретного пользователя.
По поводу IP-адреса. Ты наверняка используешь ICQ или что-то подобное, например QIP при приеме файла показывает внешний и внутренний IP компьютера с которого отправляется файл. Тебе нужно "кинуть" кому-нибудь из друзей любой файл, например readme.txt, тот нажмет отмена и передаст тебе что написано в поле при приеме файла на его стороне, там будет имя файла, размер, внешний и внутренний IP и две кнопки. Если внешний и внутренний IP одинаковые, то ты можешь быть сервером, иначе, только клиентом. Можно спросить у провайдера по этому поводу, должна быть услуга прямого IP без маскировки. Надеюсь все понятно.

В чате есть три поля:
Прот
Адрес
Хост

Порт - нужен для стыковки сокетов находящихся на одном IP-адресе. И у клиента и у сервера он должен совпадать. Его значение должно быть не меньше 1024 (это системные порты) и не более 65535.

Адрес - в это поле вводится IP-адрес сервера, который вам должен быть известен. Если чат в локальной сети, то не трудно узнать адрес сервера в настройках сети ОС. ...обычно 192.168.0.{число}

Хост - это поле для ввода имени компьютера, на который нужно подключиться. Это устаревшая система NetBIOS, медленная, и не везде работает. В локальных сетях пока еще работает. Если точно известно имя компьютера (оно создается пользователем при установке ОС), то можно воспользоваться им.

Цитата:
Как коннектиться по хосту
Нужно очистить поле "Адрес", а в поле "Хост" ввести имя сервера (обычно это ник хозяина компа или что-то в этом роде).
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 15.05.2009, 15:44   #156
mnbvcxz11
Пользователь
 
Аватар для mnbvcxz11
 
Регистрация: 07.05.2009
Сообщений: 36
По умолчанию

У меня Интернет через модем ADSL D-Link я могу его адрес IP использовать или надо согласовывать

Через Интернет
Я понял так
IP-адрес сервера надо
Порт любой мажно выбрать
Интересно Клиент быстро через интернет все это определит
mnbvcxz11 вне форума Ответить с цитированием
Старый 15.05.2009, 15:58   #157
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от mnbvcxz11 Посмотреть сообщение
У меня Интернет через модем ADSL D-Link я могу его адрес IP использовать или надо согласовывать

Через Интернет
Я понял так
IP-адрес сервера надо
Порт любой мажно выбрать
Интересно Клиент быстро через интернет все это определит
У меня тоже ADSL, все работает, и в сети и в Интернет, я специально передавал программу человеку, у которого прямой IP, и чатился с ним. TCP/IP отличается тем, что посылает еще раз пакет, если он утерян по случаю плохой связи. Пинг чату не грозит. Порт у всех один и тот же нужно, т.е. если сервер сменил порт, он должен всем пользователям сообщить перед сеансом. Посему советую оставить его по-умолчанию, или изменить сразу в коде, а потом уже копировать программу всем желающим.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 15.05.2009, 18:35   #158
mnbvcxz11
Пользователь
 
Аватар для mnbvcxz11
 
Регистрация: 07.05.2009
Сообщений: 36
По умолчанию

По ответу

Я так понял что Сервер был у человека у которого прямой IP.
TCP/IP отличается тем, что посылает еще раз пакет, если он утерян по случаю плохой связи.
Как понять пакет утерян т.е. не дошло сообщение
Что за Пинг?
Хост я так понял будет работать только в локальных сетях раз IP нет.
Порт устанавливается через программку scktsrvr.exe так же.
И последнне IP прямой адрес сервера нужно покупать у провайдера.
Значит у меня ADSL это не сервер я так полагаю.

Последний раз редактировалось mnbvcxz11; 15.05.2009 в 18:50.
mnbvcxz11 вне форума Ответить с цитированием
Старый 15.05.2009, 20:31   #159
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

mnbvcxz11, выделяй текст чужой, нажимай кнопочку "вставить тэг цитаты", восьмая кнопочка по счету в панели инструментов сообщения, ...иначе не понятно где чьи-то слова, и где ответ на них.

Цитата:
Сообщение от mnbvcxz11
Я так понял что Сервер был у человека у которого прямой IP.
Цитата:
Сообщение от Beermonza
TCP/IP отличается тем, что посылает еще раз пакет, если он утерян по случаю плохой связи.
Как понять пакет утерян т.е. не дошло сообщение?
Да, если пакет с сервера потерялся, то клиент попросит его снова, сервер вышлет повторно. Над этим не думай, там все на автомате, просто будет выглядеть как небольшая задержка (десятые доли секунды или меньше), но пакет будет на выполнение один, никакой дубликации.

Цитата:
Сообщение от mnbvcxz11
Что за Пинг?
Время за которое пакет доставляется по сети. Обычно по России ping в районе 240 мс и до 360 мс. т.е. для чата не страшно.

Цитата:
Сообщение от mnbvcxz11
Хост я так понял будет работать только в локальных сетях раз IP нет.
Если известно имя сервера, то да, IP-адрес узнавать не нужно. Но в ЛВС.

Цитата:
Сообщение от mnbvcxz11
И последнне IP прямой адрес сервера нужно покупать у провайдера.
Значит у меня ADSL это не сервер я так полагаю.
Не имеет значение что за способ соединения, просто нужно узнать у провайдера может ли он вам организовать прямой IP. Или найти администратора, что сидит на сервере, пусть будет сервером всегда.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 15.05.2009, 21:20   #160
mnbvcxz11
Пользователь
 
Аватар для mnbvcxz11
 
Регистрация: 07.05.2009
Сообщений: 36
Лампочка IRC

Кто-Нибудь знаком с этой системой
IRC (англ. Internet Relay Chat — ретранслируемый интернет-чат) — сервисная система, при помощи которой можно общаться через сеть Интернет с другими людьми в режиме реального времени.

Эту систему могут просматривать или взламывать?
Есть бесплатные программки. Говорят что работает все без Сервера.

Последний раз редактировалось mnbvcxz11; 15.05.2009 в 21:29.
mnbvcxz11 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обновление в блоге - Создание клиент-сервера Pblog Обсуждение статей 0 03.10.2007 17:12
обновление в блоге - Диплом. Создание и продвижение сайта - готовь сани летом, а дипл Pblog Обсуждение статей 0 31.08.2007 20:00
обновление в блоге - USB Холодильник Pblog Обсуждение статей 0 25.06.2007 14:13
обновление в блоге - О ярлыках Pblog Обсуждение статей 0 27.05.2007 03:17