Главная страница
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.029 c
4-1143128272
Frantic
2006-03-23 18:37
2006.06.25
обращение к пространству ввода/вывода


1-1147726374
Officeman
2006-05-16 00:52
2006.06.25
Вопрос о временный таблицах


6-1139695044
Yeg
2006-02-12 00:57
2006.06.25
Изменения в ICQ-протоколе...


15-1148815028
deltav1
2006-05-28 15:17
2006.06.25
Cимплекс-метод


15-1149024510
asdfgb
2006-05-31 01:28
2006.06.25
Комплексные автоматиpированные системы