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

Вниз

Номер порта(Addr.sin_port)   Найти похожие ветки 

 
GanibalLector ©   (2006-01-16 19:46) [0]

Есть акцептирующая нить.В случае успешного акцепта создается еще одна нить.Параметром в эту нить передаю
Addr и TSocket.Далее эта нить работает и в конце,мне хотелось получить IP клиента и номер порта.
Значит,перейдем к сабжу :

//акцептирующая нить
type
 TMode=record
  Sock:TSocket;
  Addr:TSockAddr;
 end;
 PMode = ^TMode;

...
if Select(0,@FDSet,nil,nil,@Tm)<>0 then
         begin
           if FD_IsSet(Sock,FDSet) then
           begin
             AcceptedSock:=Accept(Sock,@Addr,@Len);
             if AcceptedSock<>Invalid_Socket then
             begin
                GetMem(Val,SizeOf(TMode));
                Val.Sock:=AcceptedSock;
                Val.Addr:=Addr;
                BeginThread(nil,0,@ProcessSockEvents,PMode(Val),0,ThId);
                ...

// рабочая нить
function ProcessSockEvents(Param:Pointer):Integer;
var Sock:TSocket;
begin
 ...
 Sock:=PMode(Param).Sock;
 ...
 
 Form1.Memo1.Lines.Add("Created:"+LongToIp(PMode(Param).Addr.sin_addr.S_addr));
 Form1.Memo1.Lines.Add("Port"+IntToStr(PMode(Param).Addr.sin_port));

 // не обращайте внимания на ОТСУТСТВИЕ синхронизации! Это пока черновик!



С IP все впорядке,получаю IP клиентов.А вот с номером порта беда :( Значение получаемое Addr.sin_port
отличается от значения порта,которое показывает утилита TCP-View.

В чем я не прав?


 
atruhin ©   (2006-01-16 20:10) [1]

Addr.sin_port - обратный порядок байт.
см. htons, ntohs


 
GanibalLector ©   (2006-01-17 00:15) [2]

2 atruhin ©   (16.01.06 20:10) [1]
Таки да. Лажанулся ;)



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

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

Наверх




Память: 0.47 MB
Время: 0.039 c
15-1145206229
Ezorcist
2006-04-16 20:50
2006.05.07
Кому не лень, помогите с историей!))


2-1145541105
Никола
2006-04-20 17:51
2006.05.07
QuickReport


4-1140034908
Tailno
2006-02-15 23:21
2006.05.07
Эмитация нажатия сочетания клавиш в другой программе


2-1145448198
slim2382
2006-04-19 16:03
2006.05.07
Как мне в делфи узнать что данный файл уже открыт для записи


8-1134157478
Kot
2005-12-09 22:44
2006.05.07
Работа с gif