Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2012, 15:39   #1
vgbox
Новичок
Джуниор
 
Регистрация: 02.03.2012
Сообщений: 1
По умолчанию WinSock сервер в потоке

Здравствуйте.
Хочу запустить сервер в потоке, который в свою очередь должен создавать отдельные потоки для каждого соединения.
Использую наследника от TThread, инициализация WSA и создание сокета сервера вынес в отдельные процедуры и запускаются до старта потока.
После запуска потока с сервером идет цикличный вывод открывающиейся и закрывающейся скобки, т.е. функция accept не ждет подключения (почему?), а сразу возвращает значение INVALID_SOCKET (почему?).
Написал программу-клиент, которая успешно подключается к серверу, но сервер подключения не замечает, т.е. выдает все тот же INVALID_SOCKET (почему?). "Плюс" сервер не вывел на экран ниразу.
ПС. Переменная sSocket объявлена в привате tServer и в потоке имеет то же значение, что при создании сокета (проверял пошагово).
Прошу подсказать, что сделано неправильно или не сделано.
Поток:
---------------
procedure tServer.Execute;
var
cSocket:TSocket;
cAddr:TSockAddr;
cAddrSize:word;
begin
try
while not Terminated do begin
write('[');
cAddrSize:=SizeOf(cAddr);
cSocket:=accept(sSocket,@cAddr,@cAd drSize);
if cSocket<>INVALID_SOCKET then begin
write('+');
CloseSocket(cSocket);
end;
write(']');
Sleep(1000);
end;
finally
write('*');
end;
end;
---------------
vgbox вне форума Ответить с цитированием
Старый 03.03.2012, 06:42   #2
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

лечение геморроя по рентгену пальца
весь код давай
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WinSock. Клиент и сервер. _PROGRAMM_ Работа с сетью в Delphi 0 01.11.2011 18:40
winsock udp сервер в потоке, не работает при создании формы или обращению к VCL компоненту marikcool Работа с сетью в Delphi 1 01.10.2010 00:57
Клиент-Сервер на WinSock Onekey Работа с сетью в Delphi 1 21.08.2010 14:41
Клиент-Сервер на WinSock Вишенка Работа с сетью в Delphi 3 24.02.2010 00:45
Многопользовательский сервер на Winsock SirToxa Работа с сетью в Delphi 7 27.03.2008 15:29