Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Многопоточный сервак 
:(
    Опции темы
Antony41
Дата 19.4.2013, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 27.12.2008

Репутация: нет
Всего: 1



ну в общем я проверял браузером http://127.0.0.1:PORT
щас искать буду
PM MAIL   Вверх
Чучмек
Дата 19.4.2013, 16:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



Цитата(Antony41 @  19.4.2013,  15:51 Найти цитируемый пост)
ну в общем я проверял браузером http://127.0.0.1:PORT

Подожди, запустил сервер, открыл браузер, ввел адрес сервера и нажал enter?
А сервер первым делом ждет длину строки? 
Браузер передает 
Код

GET / HTTP/1.1...

G.E.T."пробел"
0x47,0x45,0x54,0x20
Или 0x20544547
Или 542393671
Пол га для ansistring
Четыре запроса положат сервер.


Это сообщение отредактировал(а) Чучмек - 19.4.2013, 16:51


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Antony41
Дата 21.4.2013, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 27.12.2008

Репутация: нет
Всего: 1



щас перепишу клиента чтоб все верно передавал, да и еще какой максимальный размер пакета может быть для передачи/получения
PM MAIL   Вверх
Antony41
Дата 21.4.2013, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 27.12.2008

Репутация: нет
Всего: 1



не могу понять где ошибка 3 пакета уходит потом вылетает ошибка по адресу...
вот так клиент отправляет данные
Код

    Data.fCommand := 50001;
    SetLength(SendBuf, SizeOf(Integer) + SizeOf(Data));
    PInteger(@SendBuf[0])^ := SizeOf(Data);
    Move(Data, SendBuf[SizeOf(Integer)], SizeOf(Data));
    BytesSent := 0;


    // Повторяем попытку отправить до тех пор, пока всё содержимое
    // буфера не будет отправлено серверу.
    while BytesSent < Length(SendBuf) do
    begin
      SendRes := send(vSocket, SendBuf[BytesSent], Length(SendBuf) - BytesSent, 0);
      if SendRes > 0 then
        Inc(BytesSent, SendRes)
      else
        if WSAGetLastError = WSAEWOULDBLOCK then
          Sleep(10)
        else
        begin
          MessageDlg('Ошибка при отправке данных серверу', mtError, [mbOK], 0);
          //OnDisconnect;
          Exit;
        end;
    end;

PM MAIL   Вверх
Antony41
Дата 21.4.2013, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 27.12.2008

Репутация: нет
Всего: 1



разобрался но так и не понял
ошибка возникала из за того что я пытаюсь показать сколько сейчас соединений в TList при событии FD_CLOSE, вот так вроде гуд...
но стоит поставить после RemoveConnection и ошибка по адресу...
Код

FD_CLOSE:
      begin
         if WSAGetLastError = WSAEWOULDBLOCK then
           Exit;
        // Клиент вызвал функцию shutdown. Закрываем соединение.
        Logging('Клиент ' + Connection.ClientAddr + ' закрыл соединение');
        Dec(OnLineCount, 1);
        MainForm.StatusBar2.Panels.Items[0].Text := 'Онлайн сейчас: '+IntToStr(OnLineCount);
        shutdown(Connection.ClientSocket, SD_BOTH);
        RemoveConnection;
        Beep;
      end;

PM MAIL   Вверх
Antony41
Дата 21.4.2013, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 27.12.2008

Репутация: нет
Всего: 1



как можно проверить состояние асинхронного сокета например если был сбой, и событие об отключении не было, т. е сокет потерян, как проверить?
PM MAIL   Вверх
Antony41
Дата 26.4.2013, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 27.12.2008

Репутация: нет
Всего: 1



Ладно ребят спасибо всем огромное при огромное... Вроде пока всё корректно работает.
Еще подскажите пожалуйста. Если у клиента прописан прокси, от куда будут браться настройки с IE? и как назначить connect + PROXY вручную
PM MAIL   Вверх
Antony41
  Дата 28.4.2013, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 27.12.2008

Репутация: нет
Всего: 1



ответит кто или нет? smile 
PM MAIL   Вверх
MetalFan
Дата 29.4.2013, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



работу с проксей, афаик, если юзаешь сокеты, придется вручную реализовывать...
возможно ошибаюсь.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0542 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.