Главная страница
    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.033 c
11-1046110368
KSV
2003-02-24 21:12
2004.08.01
Плагин


14-1089451802
X9
2004-07-10 13:30
2004.08.01
Создание сети


14-1089383333
Baron
2004-07-09 18:28
2004.08.01
Девушки программисты.


3-1089183547
1008
2004-07-07 10:59
2004.08.01
Как принудительно обновить DBRichEdit?


3-1089199239
Cranky
2004-07-07 15:20
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский