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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2011, 18:30   #1
Coder12
Пользователь
 
Регистрация: 21.03.2011
Сообщений: 22
По умолчанию Чат через интернет

Вот код сервера:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
serverSocket1.Active:=true; //подключится
end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var a:string;
begin
a:=socket.ReceiveText; //получаем текст от клиента и выводим
label1.caption:=a;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ServerSocket1.Socket.Connections[0].SendText(Edit1.Text); //отправить текст на клиента
end;

end.
Вот код клиента:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
clientsocket1.Active:=true;// подключаемся
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
clientSocket1.Socket.SendText(Edit1.text); // отправляем сообщение серваку
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
  var ab:string;
  begin
ab:=socket.ReceiveText;// получаем сообщения с сервака
showmessage(ab);
end;

end.
Какой порт и хост прописывать, если делать через интернет?
Работаю с компонентами ClientSocket, ServerSocket. Через локальную сеть работает хорошо.
Coder12 вне форума Ответить с цитированием
Старый 06.07.2011, 19:32   #2
Иллидан
Форумчанин
 
Регистрация: 16.01.2008
Сообщений: 288
По умолчанию

Тоже интересуюсь этим вопросом. На сколько я понял, если ip адрес "белый" то, адрес полученный через www.myip.ru или через команду ipconfig(для белого адреса они совпадают). А вот что делать, в случае когда не совпадают (адрес "серый"), хотелось бы спросить у профи?

Последний раз редактировалось Иллидан; 06.07.2011 в 19:39.
Иллидан вне форума Ответить с цитированием
Старый 07.07.2011, 02:43   #3
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Цитата:
Какой порт и хост прописывать, если делать через интернет?
Порт любой разрешенный, чтоб и на серваке и на клиенте он был одинаковый.
А хост это ип сервера, к которому вы подключаетесь. Всё просто.
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 07.07.2011, 10:40   #4
Иллидан
Форумчанин
 
Регистрация: 16.01.2008
Сообщений: 288
По умолчанию

Цитата:
А хост это ип сервера, к которому вы подключаетесь. Всё просто.
Тогда уж наверное в поле хост DNS имя сервера(если такое имеется), а в adress ip адрес сервера.
Иллидан вне форума Ответить с цитированием
Старый 07.07.2011, 13:04   #5
Whited
Пользователь
 
Регистрация: 20.02.2011
Сообщений: 21
По умолчанию

меня это тоже интересует, я пытался делать чат и игру через интернет, но все время ошибка Connection Timeout.
Whited вне форума Ответить с цитированием
Старый 07.07.2011, 13:15   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если IP не белый и порт не пробит, то легкими средствами ни как.
нужен тогда сторонний сервер(например сеть хамачи)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.07.2011, 15:03   #7
Иллидан
Форумчанин
 
Регистрация: 16.01.2008
Сообщений: 288
По умолчанию

Цитата:
и порт не пробит, то легкими средствами ни как.
А что значит порт не пробит?
Иллидан вне форума Ответить с цитированием
Старый 07.07.2011, 20:29   #8
Coder12
Пользователь
 
Регистрация: 21.03.2011
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
если IP не белый и порт не пробит, то легкими средствами ни как.
нужен тогда сторонний сервер(например сеть хамачи)
А еще способы есть?
Coder12 вне форума Ответить с цитированием
Старый 07.07.2011, 23:17   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

точнее там не И, а ИЛИ должно быть.
Цитата:
А что значит порт не пробит?
это значит что на роутере/маршрутизаторе порт такой то должен быть сопоставлен с вашим компьютером.
тогда роутер будет знать, что при обращении на этот порт запрос нужно перенаправить на вашу систему.
Цитата:
А еще способы есть?
лично я не знаю.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.07.2011, 01:43   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Цитата:
Сообщение от Coder12 Посмотреть сообщение
А еще способы есть?
Есть, тот кто держит сервер. Может у провайдера купить постоянный-выделеный IP адрес.

Тогда программа-клиент будет видеть сервер и иметь возможность подключиться к нему.
Человек_Борща вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чат через интернет Arsenx777 Работа с сетью в Delphi 18 07.07.2011 07:58
Интернет чат zmey31313 Работа с сетью в Delphi 2 04.11.2010 23:36
Интернет чат Razyiller Работа с сетью в Delphi 0 03.04.2010 10:36
Как написать Голосовой чат, через интернет. visual basic 2005 Serotonin Помощь студентам 1 08.09.2009 01:05
Интернет чат dani92 Работа с сетью в Delphi 1 01.04.2009 10:56