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

Вниз

Памажите сделать сервер средствами АПИ   Найти похожие ветки 

 
osama   (2004-06-02 15:41) [0]

Я плохо знаю как это делаеться, клиент сделал а от сервер не получаеться что-то...
Теории по работе сокетов у меня полно, но хоть бы один примерчик...


var
 Srv: TSocket;
 SrvRet: Longword;
 SrvAddr: PSOCKADDR;
 Len: Integer;

SrvRet:=WSAStartup(MAKEWORD(2, 0), WSAData);
Srv:=WinSock.Socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
SrvAddr.sin_family:=PF_INET;
SrvAddr.sin_port:=htons(1024);
Len:=SizeOf(SrvAddr);
SrvRet:=WinSock.listen(Srv, SOMAXCONN);
SrvRet:=WinSock.accept(Srv, SrvAddr, @Len);


Это я что-то такое написал но думаю что неправильно...
ПЛЗ


 
Digitman ©   (2004-06-02 15:46) [1]

см.

http://delphimaster.net/view/6-1085758756/

[19]


 
osama   (2004-06-02 16:16) [2]

Спасибо, но это немного не то, что мне нужно... Мне бы пример сервера, который принимает от клиентов сообщения и отображает их, например, в TMemo (Мэмо конечно шутка, я не намерен использовать VCL). В этом тексте я не нашел места где же отображаеться приянятая месага (можт в эхо-сервере оно и не нужно, но мне как раз очень надо)


 
Digitman ©   (2004-06-02 17:31) [3]


> osama   (02.06.04 16:16) [2]



> В этом тексте я не нашел места где же отображаеться приянятая
> месага


нигде она там не "отображаеться"

вот процедура, вызываемая сервером всякий раз, когда буфер приема гнезда не пуст (принята некая очередная "порция" поточных данных, формируемых передающей стороной)

procedure DoRead(S : TSocket);
var Res : integer; //прочитанное число байт
  Buffer : array[0..255] of byte; //буфер чтения (размер буфера взят практически от балды, это просто пример, но на практике его лучше всего устанавливать кратным 4к)
begin
Res := recv(S, Buffer[0], sizeof(Buffer), 0); //делаем попытку прочитать из принимающего буфера гнезда не более чем sizeof(Buffer) байт
if Res > 0 then
  .. в буфер Buffer из принимающего буфера гнезда прочитано ненулевое кол-во байт , далее делай с ними что хочешь : хоть отображай, хоть накапливай в ином буфере-аккумуляторе, хоть в мусор выбрасывай..
end;


 
osama   (2004-06-02 20:12) [4]

Гы, работает! От спасибо, ну усе, пошел я взламывать Пентагон :)


 
Verg ©   (2004-06-02 22:41) [5]


> [4] osama   (02.06.04 20:12)
> Гы, работает! От спасибо, ну усе, пошел я взламывать Пентагон
> :)


Бедняга, хоть бы рогатку взял для приличия, а то вообще ни с чем...



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

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

Наверх




Память: 0.48 MB
Время: 0.046 c
14-1089404509
KilkennyCat
2004-07-10 00:21
2004.08.01
Сложность найма сотрудника.


1-1090220036
alextov
2004-07-19 10:53
2004.08.01
Нужно чтоб при клике на иконке отчета запускалась прога и открыва


6-1086005410
Ruwer, inc.
2004-05-31 16:10
2004.08.01
Как в indy HTTPServer вовремя обработать запрос и послать ответ.


14-1089799403
Rostislav Rotaru
2004-07-14 14:03
2004.08.01
А какая разница на чем писать программы?


6-1084508226
NLO
2004-05-14 08:17
2004.08.01
ICQ