![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Два компьютера. (допустим) Один компьютер x, а другой y. На обоих есть и запущена эта программы. Как передавать на с одной программы компьютера x другой компьютера y, и обратно? Что-то типа чато, но передаваться будут координаты.
|
|
#2
|
||||
|
||||
|
Я делаю это с помощью компонента TSocketServer/Client. В Delphi7 установить: delphi7\bin\dclsockets70.bpl. Компоненты>Установить пакет, в окне кликай на "Добавть" ищи по этому пути. После установки они появятся во вкладке Internet.
сервер: Код:
.....
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket); //Принятие текста
var s:string;
begin
s:=Socket.ReceiveText;
ShowMessage(s);
end;
...
procedure TForm1.Button1Click(Sender: TObject); //Посылка всем
var i:integer; s:string;
begin
s:='Delphi';
for i := 0 to ServerSocket1.Socket.ActiveConnections-1 do
ServerSocket1.Socket.Connections[i].SendText(s);
end;
...Код:
.... procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); //Принятие от сервера var s:string; begin s:=Socket.ReceiveText; ShowMessage(s); end; ... procedure TForm1.Button1Click(Sender: TObject); //Посылка var s:string; begin s:='Delphi'; ClientSocket1.Socket.SendText(s); end; ... Но это дело каждого... |
|
#3
|
||||
|
||||
|
Я правильно понял, что для сервера одна прога , а для клиенты другая?
|
|
#4
|
|||
|
|||
|
Не совсем. Тебе никто не мешает и сервер и клиента реализовать в одной программе. Более того, у тебя одна прога может слать сама себе сообщения.
ЗЫ. Я бы делал через Indy. |
|
#5
|
||||
|
||||
|
А как через Indy? И можно ли так, чтобы я как бы создавал сервак, а мой друг подключался и мы играли? (я делаю мини игру)
|
|
#6
|
|||
|
|||
|
Ну если тебе передавать какие-то данные просто, то используй TCmdTCPServer/TCmdTCPClient (кажется так называются). Они удобны тем, что ты просто задаешь команды и работвешь уже с данными. Если будешь передавать бинарные данные, то запакуй их в Base64 (Компоненты соответсвующие у индюка есть). В программе при старте выбираешь режим - клиент или сервер. Все.
Да, демки можно посмотреть на www.indyproject.org. |