Главная страница
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-1089375182
Евген
2004-07-09 16:13
2004.08.01
как найти програмиста


14-1089574147
Empleado
2004-07-11 23:29
2004.08.01
кАковый перевод иноземных фильмов


8-1084576073
Женька
2004-05-15 03:07
2004.08.01
BMP...


14-1089965524
Igorek
2004-07-16 12:12
2004.08.01
А где находится "Потрепаться"...


14-1089402150
Baron
2004-07-09 23:42
2004.08.01
Потрепать