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

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

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2008, 19:35   #11
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

то чего нет.
TsToolBar
TsPanel
TsStatusBar
и т.д.
В общем всё что связано с "Ts"
А про сокеты я знаю давным-давно...

Цитата:
Сообщение от aesoem Посмотреть сообщение
Код:
toolbutton1.Down
возвращает значени true \ false, и это значение присваивается свойству visible панели с настройкой портов и т.д
Да но там стоит:
ServerSocket1.Active:=false;
Clientsocket1.Active:=false;
... Может из-за этого...
Всё гениальное - просто!

Последний раз редактировалось Air; 17.04.2008 в 19:38.
Air вне форума Ответить с цитированием
Старый 17.04.2008, 20:59   #12
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

Цитата:
ServerSocket1.Active:=false;
Clientsocket1.Active:=false;
этот код выполняется при нажатии на кнопку "НАСТРОЙКА" вить чтоб изменить порт или хост надо сначало деактивировать то с чем работаеш, а по кнопке применить которая открывается после нажатия на "НАСТРОЙКА" я применяю новые параметры и опять активирую клиент и сервер
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\
Ещё вопрос: (делал почти как тут http://pblog.ru/?p=91)
Код:
procedure TForm1.SendBtnClick(Sender: TObject);
begin
// проверка, в каком режиме находится программа
If ServerSocket.Active=True then
// отправляем сообщение с сервера (он под номером 0, поскольку один)
ServerSocket.Socket.Connections[0].SendText('['+TimeToStr(Time)+'] '+NikEdit.Text+': '+TextEdit.Text)
else
// отправляем сообщение с клиента
ClientSocket.Socket.SendText('['+TimeToStr(Time)+'] '+NikEdit.Text+': '+TextEdit.Text);
// отобразим сообщение в ChatMemo
ChatMemo.Lines.Add('['+TimeToStr(Time)+'] '+NikEdit.Text+': '+TextEdit.Text);
end;
что там за прикол с отправки клиенту с КЛИЕНТА!
Я делал вот так:
Код:
serversocket1.Socket.Connections[0].SendText(sedit4.Text+': '+scombobox1.Text);
aesoem вне форума Ответить с цитированием
Старый 18.04.2008, 15:42   #13
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
что там за прикол с отправки клиенту с КЛИЕНТА!
Я такого не нашол...
Я как понял, тот код представляет программу "клиент-сервер" в одном ехе, то биш создать "сервер" может любой из 2-х компютеров.

Вот простой пример, почему не разьединяется?
Я думаю потому что мало наворотов, проверьте все дополнительные функции, - это просто, ставите красные точки там, где присутствует "Server...:=false" или "Client...:=false", можете отследить весь код.
Вложения
Тип файла: zip Cl-Se.zip (168.1 Кб, 9 просмотров)
Всё гениальное - просто!

Последний раз редактировалось Air; 18.04.2008 в 16:00.
Air вне форума Ответить с цитированием
Старый 19.04.2008, 10:47   #14
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

странно а что у сервера в свойстве чтения от клиента тож прописывать надо?
aesoem вне форума Ответить с цитированием
Старый 19.04.2008, 10:53   #15
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

моя прога тоже может быть и клиент и сервер, с сервера я отправляю текст а клиент на 2 компе его читает - точно также и обратно клиент отправляет мнес сервера а мой клиент его читает
aesoem вне форума Ответить с цитированием
Старый 19.04.2008, 15:27   #16
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
Сообщение от aesoem Посмотреть сообщение
моя прога тоже может быть и клиент и сервер, с сервера я отправляю текст а клиент на 2 компе его читает - точно также и обратно клиент отправляет мнес сервера а мой клиент его читает
Прошу прошения, но я чего-то не догоняю.

Если клиент[1] на 1-ом компе установил связь с сервером[1] на 2-ом компе, то не надо подключать клиент[2] с сервером[2], достаточно одного подключения. Если честно, я не заметил в Ванем коде процедур принятия данных от клиента (ServerSocket1ClientRead), есть только у клиента.

Пересмотрите код и сделайте передачу данных по моему примеру, а как заработает дополните код всякими примочками.

P.S.
Цитата:
клиент отправляет мнес сервера а мой клиент его читает
Клиент клиенту не может отправить данные, потому что они не соединены между собой.
Всё гениальное - просто!

Последний раз редактировалось Air; 19.04.2008 в 15:29.
Air вне форума Ответить с цитированием
Старый 19.04.2008, 20:14   #17
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

Теперь я вообще запутался!
на клиенте сервер вообще не нужен?
aesoem вне форума Ответить с цитированием
Старый 19.04.2008, 21:16   #18
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Как бы это всё обьяснить-то, чтоб всё понятно стало.

Для любых передач данных в сети (не важно в какой) нужно программу-сервер и программу-клиент - этого вполне достаточно, чтоб сделать твой чат.

В том примере (http://pblog.ru/?p=91) основана не зависимость двух компьютеров, т.е. не важно у кого программа-сервер, т.к. она и на 1-ом и на 2-м компьютере есть. Кто первый начал коннектиться к сети (или куда там нужно), тот и стал сервером, а второй - клиентом. (и на оборот)
Такая схема нужна для упрощения в пользовании приложения.
1 - Не требуется гадать "а гдеже сервер, а где клиент".
2 - Не требуется ожидать активного сервера, когда сам можешь его создать.
Мой Вам совет, скопируйте коды с того примера, проверьте на исправность и сравните со своим, после определите почему и где у Вас был недостаток.
Сравнение поможет Вам недопустить ошибки в следуюший раз.
Если к примеру я или кто-то Вам напишет готовый код или даже скомпилирует, то Вы так и не научитесь отлаживать программы.
Ведь хороший программист не тот кто знает, где найти программу, а тот кто знает как её правильно написать.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 22.04.2008, 13:40   #19
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

все написал так:
1 программа - сервер
2 программа - клиент

Как сделать так чтобы не происходила ошибка если клиент запускается первым
aesoem вне форума Ответить с цитированием
Старый 22.04.2008, 17:47   #20
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
Подмигивание

А вас не смущает режим клиент-клиент? Ведь этого достаточно для сетевой переписки. Для этого нам поможет I_net.
Вложения
Тип файла: rar Супер чат.rar (191.0 Кб, 15 просмотров)
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Ответ


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