- 0
TCP [TIdTCPClient] Почему TIdTCPClient зависает при общении с по IP в глобальной сети?
-
Похожий контент
-
- 7 ответов
- 1 956 просмотров
-
- 9 ответов
- 4 182 просмотра
-
- 0 ответов
- 1 220 просмотров
-
- 7 ответов
- 4 118 просмотров
-
- 2 ответа
- 1 813 просмотра
-
- 3 ответа
- 2 850 просмотров
-
TidTCPClient [TidTCPClient] В IdTCPClient возникает Max line length exceeded при чтении
От ivadimos,
- 1 ответ
- 3 962 просмотра
-
- 1 ответ
- 2 613 просмотра
-
[TidTCPServer] [TidTCPClient] Как отправить файл с сервера на клиент используя Indy10 и получить файл на стороне клиента?
От Martifan,
- 5 ответов
- 5 304 просмотра
-
- 14 ответов
- 4 191 просмотр
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
loony-pants
Впервые взялся за разработку Клиент-серверного приложения. Нашёл пример с IdTCPServer и IdTCPClient, попытался начать с реализации запроса-ответа. При нажатии на кнопку клиент зависает (Как я понял - соединение не происходит). Ip адрес указывал просмотрев с сайта 2ip.ru и тот, что в "сведениях о сетевом подключении" - результат один и тот же - Зависает клиент. Пробовал с IdUDPClient и IdUDPServer - работает, НО только во внутренней сети, а мне необходим глобальный обмен.
Клиент:
procedure TForm2.LoginButtonClick(Sender: TObject); begin try IdTCPClient1.Host :='127.0.0.1'; /// Менял IP адрес IdTCPClient1.Port:=55560; IdTCPClient1.Connect; except Memo2.Lines.Add('Не удается соединиться с указанным сервером'); Exit; end; Memo2.Lines.Append(IdTCPClient1.Socket.ReadLn); IdTCPClient1.Disconnect; end;Сервер:
procedure TForm1.FormCreate(Sender: TObject); begin section1 := TCriticalSection.Create; idTcpServer1.DefaultPort:=55560; idTcpServer1.Active:=true; end; procedure TForm1.IdTCPServer1Execute(AContext: TIdContext); var strText: String; begin strText := AContext.Connection.Socket.ReadLn; AContext.Connection.Socket.WriteLn('Login: ' + strText); section1.Enter; Edit3.Text := AContext.Connection.Socket.Binding.PeerIP; section1.Leave; Memo1.Lines.Add(AContext.Connection.Socket.Binding.PeerIP); AContext.Connection.Disconnect; end;2 ответа на этот вопрос
Рекомендуемые сообщения