Главная страница
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.068 c
9-1128980051
Ricks
2005-10-11 01:34
2006.05.07
Элементарный ИИ в стратегиях


2-1145442756
@gent
2006-04-19 14:32
2006.05.07
Как мне выводить в Memo не только ответ, но и решение


10-1117622453
Магнум
2005-06-01 14:40
2006.05.07
Экспорт в Excel 2003


15-1145026676
haikaterine
2006-04-14 18:57
2006.05.07
DBNavigator


15-1144419181
DelphiLexx
2006-04-07 18:13
2006.05.07
Как в Delphi 2005 установить компонент