Главная страница
    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.066 c
3-1089278393
alexe
2004-07-08 13:19
2004.08.01
Как исключить лишние записи из SQL-запроса, используя Count?


14-1089791240
infom
2004-07-14 11:47
2004.08.01
Ветка про ДЕВУШЕК


9-1081717014
Werwolf
2004-04-12 00:56
2004.08.01
Продолжение темы "Пиратов бесконечности"


4-1087926552
AlexZ_CRC
2004-06-22 21:49
2004.08.01
pChar и "+"


3-1087821905
Bulgar
2004-06-21 16:45
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский