Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

Правильно ли работаю с массивом сокетов?   Найти похожие ветки 

 
Новичоккк   (2006-06-02 17:04) [0]

Асинхронные сокеты. Вот код:

 Socks: array of record
     sock:TClientSocket;
     msg:string;
     answer:string;
     end;
...
procedure TfrmMain.SockRead(Sender: TObject; Socket: TCustomWinSocket);
var
c:TClientSocket;
tag:integer;
str:string;
begin
c:=(Sender as TClientSocket);
tag:=c.Tag;
str:=Socket.ReceiveText;
if str="welcome" then socket.SendText(Socks[tag].msg) else
   begin
    Socks[tag].answer:=str;
    c.Active:=false;
    c.Close;
   end;
end;
...
procedure TfrmMain.Action;
const
THREADS=5;
var
i:integer;
begin
SetLength(socks,THREADS);
for i:=0 to THREADS-1 do
   begin
    Socks[i].sock:=TClientSocket.Create(nil);
    with Socks[i].sock do
       begin
        address:="127.0.0.1";
        port:=13579;
        clienttype:=ctNonBlocking;
        tag:=i;
        onRead:=SockRead;
       end;
    Socks[i].msg:="sock#"+IntToStr(i);
    Socks[i].answer:="";
    Socks[i].active:=true;
   end;
end;

Первый раз пытаюсь написать сетевое приложение. Всё правильно?


 
Piter ©   (2006-06-02 17:10) [1]

Интересно... А почему в потрепаться? :))))

Предлагаю оставить только одну конференцию :))


 
Новичоккк   (2006-06-02 17:19) [2]

Дело в том, что в другие (по крайней мере в "Сети"), почти никто не заглядывает


 
StriderMan ©   (2006-06-02 17:30) [3]

а разрушать кто будет сокеты после использования? либо разрушай явно при помощи .Free либо указывай .Create(Self), тока форма при закрытии их поубивает, но так при каждом выполнении Action будут новые сокеты плодиться


 
Piter ©   (2006-06-02 18:38) [4]

Новичоккк   (02.06.06 17:19) [2]
Дело в том, что в другие (по крайней мере в "Сети"), почти никто не заглядывает


судя по количество ответа в ветках - ты не прав.



Страницы: 1 вся ветка

Текущий архив: 2006.06.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
1-1147967851
agaga
2006-05-18 19:57
2006.06.25
Запретить растягивать картинку


15-1149229010
oleggar
2006-06-02 10:16
2006.06.25
репортер


2-1149584453
ttt_111
2006-06-06 13:00
2006.06.25
Написание HELP


15-1149145793
vecna
2006-06-01 11:09
2006.06.25
Темы XP, опять все не слава богу =(


5-1134113633
AndrewK
2005-12-09 10:33
2006.06.25
Как подключить в рантайм стандартный редактор свойств Delphi