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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2011, 00:03   #1
SerAlex
 
Регистрация: 30.06.2011
Сообщений: 4
По умолчанию Соединение двух компьютеров через интернет

Всем добрый день. Я новичок в программировании, работаю со средой Delphi. У меня возникло желание написать программу, что-то вроде интернет месседжера, где с одного компьютера в программе пишешь, допустим, сообщение, а с другого это сообщение выводится, например, в лейбле. Но я не знаю, какие компоненты для этого нужны и каким образом это можно осуществить. Надеюсь на ваше понимание и поддержку.
SerAlex вне форума Ответить с цитированием
Старый 01.07.2011, 02:51   #2
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

Я тоже уже столько тем насоздовал и неодного ответа, а если нет беслого ип реально ли подключение подобного типа, у меня он статистический но у меня он идет один на сеть, то есть не у меня одного в моем городе такой ип)))
gufon вне форума Ответить с цитированием
Старый 01.07.2011, 07:13   #3
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

Все просто, есть во вкладке indy (TCPclient, TCPServer) или internet (SocketServer, SocketClient)
Создаете две проги в одной кидаете клиент в другой сервер. Создаете поля для отправки, получения, кнопки соединения, отправки.
А далее ищем в интернете тот способ что вы выбрали и смотрим что небходимо..

--
Насчет ip, можно написать функцию получения ип из инета и передачи ее клиенту или же на сайт (если у вас есть сайт). Так же есть сервисы типа no-ip .ru
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 01.07.2011, 10:14   #4
SerAlex
 
Регистрация: 30.06.2011
Сообщений: 4
По умолчанию

Спасибо большое за помощь. А можете написать команду, чтобы label клиента принимал значение edit сервера? Интернет я уже долго облазиваю на этот счет.
SerAlex вне форума Ответить с цитированием
Старый 01.07.2011, 11:39   #5
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

сначала выбери на чем будешь писать, напиши, покажи код, а там уже более подробнее..
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 01.07.2011, 12:20   #6
Jetro
Пользователь
 
Регистрация: 15.11.2010
Сообщений: 31
По умолчанию

Простой пример на сокетах:
На программу, которая будет отправлять данные бросаем ClientSocket, а на программу, которая будет принимать - Serversocket.

Отправка:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ClientSocket.Host := '127.0.0.1';
  ClientSocket.Port := 12345;
  Clientsocket.Active := True;
end;

procedure TForm1.ClientSocketConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  Clientsocket.Socket.SendText('qwerty');
  Clientsocket.Active := False;
end;
Прием:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Serversocket.Port := 12345;
  Serversocket.Active := True;
end;

procedure TForm1.ServerSocketClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
 begin
   Label1.Caption := Socket.ReceiveText;
end;
На счет TCPclient и TCPServer - как говорится "На вкус и цвет". Мне вот удобнее всего на сокетах данные слать, TCP мне кажется каким-то менее функциональным что-ли, и более громоздким.

По поводу динамического адреса - grafgrial все правильно написал. В интернете куча сервисов для таких случаев.
Jetro вне форума Ответить с цитированием
Старый 01.07.2011, 12:28   #7
SerAlex
 
Регистрация: 30.06.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Jetro Посмотреть сообщение
Простой пример на сокетах:
На программу, которая будет отправлять данные бросаем ClientSocket, а на программу, которая будет принимать - Serversocket.

Отправка:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ClientSocket.Host := '127.0.0.1';
  ClientSocket.Port := 12345;
  Clientsocket.Active := True;
end;

procedure TForm1.ClientSocketConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  Clientsocket.Socket.SendText('qwerty');
  Clientsocket.Active := False;
end;
Прием:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Serversocket.Port := 12345;
  Serversocket.Active := True;
end;

procedure TForm1.ServerSocketClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
 begin
   Label1.Caption := Socket.ReceiveText;
end;
На счет TCPclient и TCPServer - как говорится "На вкус и цвет". Мне вот удобнее всего на сокетах данные слать, TCP мне кажется каким-то менее функциональным что-ли, и более громоздким.

По поводу динамического адреса - grafgrial все правильно написал. В интернете куча сервисов для таких случаев.
Огромное спасибо всем, ребят. Сейчас попробую.
SerAlex вне форума Ответить с цитированием
Старый 01.07.2011, 14:28   #8
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

у меня статистический, я же написал, но у половины города такойже
gufon вне форума Ответить с цитированием
Старый 01.07.2011, 17:52   #9
spydark91
Форумчанин
 
Регистрация: 01.06.2011
Сообщений: 215
По умолчанию

grafgrial,
Цитата:
Насчет ip, можно написать функцию получения ип из инета и передачи ее клиенту
,можешь поподробнее?
spydark91 вне форума Ответить с цитированием
Старый 01.07.2011, 20:22   #10
SerAlex
 
Регистрация: 30.06.2011
Сообщений: 4
По умолчанию

Ну знаете, со статическим тоже не большая беда. Меня пока все радует и так. А IP другого компьютера можно и другим, не программным способом узнать.
И да, еще один вопрос по коду. Как можно отправить два текста. Вот если label1.caption:=Socket.ReceiveText, который мы написали в одном editе, а label2.caption:=текст, который мы написали в другом эдите. Для этого обязательно нужно создавать два компонента ServerSocketClientRead?

Последний раз редактировалось SerAlex; 01.07.2011 в 20:36.
SerAlex вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Локальная сеть и общий доступ к интернет для всех компьютеров _PROGRAMM_ Компьютерное железо 32 15.01.2011 20:58
подключение двух компьютеров к интернет через одно подключение Chudo4258 Помощь студентам 3 30.03.2010 16:07
Соединение через интернет (C++ Builder) badfilin C++ Builder 1 21.03.2010 21:32
Соединение компьютеров Vladya Свободное общение 19 26.02.2009 22:03
Соединение с БД через Интернет Kate Работа с сетью в Delphi 1 08.06.2007 08:49