![]() |
|
|
#16
|
||||
|
||||
|
|
|
#17
|
|||
|
|||
|
Цитата:
Именно в одной программе реализованный? |
|
#18
|
||||
|
||||
|
Ну если 2 программы, то в каждой будет по 2 строчки.
|
|
#19
|
|||
|
|||
|
Цитата:
есть рабочий пример? чтоб в одной. буду признателен |
|
#20
|
|||
|
|||
|
Код:
var
Form1: TForm1;
tmp,temp:string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Host:='192.168.1.64';
ClientSocket1.Port:=1234;
ClientSocket1.Active:=true;
Memo1.Clear;
Memo2.Clear;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ClientSocket1.Socket.SendText(Memo1.Text);
end;
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
begin
temp:=Socket.ReceiveText;
Memo2.Lines.Add(temp);
end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
I: Integer;
begin
tmp:=Socket.ReceiveText;
for I :=0 to ServerSocket1.Socket.ActiveConnections - 1 do
begin
ServerSocket1.Socket.Connections[i].SendText(tmp);
end;
end; |
| Этот пользователь сказал Спасибо ApxaHGe1 за это полезное сообщение: | ||
Spitfire (08.09.2016)
| ||
|
#21
|
||||
|
||||
|
Цитата:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp;
type
TForm1 = class(TForm)
ServerSocket1: TServerSocket;
ClientSocket1: TClientSocket;
Memo1: TMemo;
Memo2: TMemo;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ServerSocket1.Socket.Connections[0].SendText(Edit1.Text);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ClientSocket1.Socket.SendText(Edit2.Text);
end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText);
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo2.Lines.Add(Socket.ReceiveText);
end;
end. |
|
#22
|
|||
|
|||
|
Цитата:
|
|
#23
|
|||
|
|||
|
Стало быть создавать сервер вообще не нужно? И подключаться к нему
Проблема в том, как реализовать соединение с разных компов Последний раз редактировалось Spitfire, 08.09.2016 в 19:42. |
|
#24
|
||||
|
||||
|
В примере и сервер создаётся и активируется и клиент подключается именно к нему. Кроме 4-х строк есть ещё некоторые свойства design-time. В этом прелесть Delphi.
|
|
#25
|
|||
|
|||
|
Проблема решена. Дело было не в коде, а в настройках серверсокета.
Было выставлено stThreadBlocking напротив ServerType. Не знаю как так получилось, ничего там не менял вроде.. Спасибо всё же тем кто откликнулся ![]() |