Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.04 c
4-1087460314
Denizzz
2004-06-17 12:18
2004.08.01
Проблемы клика по моей иконке в трэе


1-1089882355
~ShamaN~
2004-07-15 13:05
2004.08.01
Rave Report


1-1090136125
ВиТ
2004-07-18 11:35
2004.08.01
Цикл по объектам


8-1084513139
Push
2004-05-14 09:38
2004.08.01
Installer


14-1090060228
VID
2004-07-17 14:30
2004.08.01
Нужен банк который..





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский