![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Потки в сервер сокетах. [D6, NT4]
s002156Shurik © (2002-11-02 01:52:00)Народ я заю что вы знаете, ответте пожалусто. Вот кпримеру когда клиент сокет конектится к сервер сокету, сервер сокет какимто образом ведет список подключений, тобиш добавляет новое подключение в свой список, так?
А вот каким образом работать с этими подключениями.
Пример клиенты все наперебой конектятся к серверу, передают ему запросы и начинают ждать ответ. Так вот задача вернуть ответ не первому попавшемуся клиенту а тому кто спросил.?
И можноли сделать так чтобы пока данные для клиента неготовы обслуживать другого клиента.
kalishenko (2002-11-05 13:33:00) [1]Помогите с сокетами! Дело в том, что ClientSocket не может подключиться к нескольким сокет-серверам (к примеру, к 127.0.0.1 и удал. машине) и ClientSocket1.Active:=False для переключения на другую машину не срабатывает (пишет Error, что, мол, при активном соединении изменить ничего не получится). Объясните, пожалуйста, в чем дело.
DeadHDD (2002-11-03 07:11:00) [2]procedure TKrabChatForm.SendToClient3(socket:TCustomWinSocket;s:string);
var a:integer;
begin
if s="" then exit;
if krabChatForm.ServerSocket.Socket.ActiveConnections<=0 then exit;
for a:=0 to krabChatForm.ServerSocket.Socket.ActiveConnections-1 do begin
if krabChatForm.ServerSocket.Socket.Connections[a].RemoteAddress=socket.RemoteAddress then
begin
krabChatForm.ServerSocket.Socket.Connections[a].SendText("@TEXT@"+s+#0);
exit;
end;
end;
end;
Алексей Ким (2002-11-02 10:54:00) [3]procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
Socket: TCustomWinSocket);
begin
socket.SendText("helo");
end;