[fasm] wsock32 - klient

0

Witam!
Mam problem z klientem ;-(
Napisałem sobie prosty serwerek w delphi ktory wyświetla komunikat jak ktoś się podłączy.
Oto fragmenty kodu

  invoke WSAStartup, 2, wsaData
  cmp eax, 0
  jne werror
  cmp [wsaData.wVersion], word 2
  jne werror


    invoke  socket, AF_INET, SOCK_STREAM, 0
    mov     [clienth], eax
    invoke  WSAAsyncSelect, [clienth], [hWnd], WM_CLIENT, FD_ACCEPT or FD_CONNECT or FD_READ or FD_WRITE

    invoke  htons, 8182
    mov     [clientp.sin_port], ax
    mov     [clientp.sin_family], AF_INET
    mov     [clientp.sin_addr], 0x7F000001 ;    ip 127.0.0.1
;    mov     [clientp.sin_addr], 0x0100007F ; nie wiem ktore jest poprawne bo i tak nic nie dziala

    invoke  connect, [clienth], clientp, 0x10
                                            

Serwer działa(w asm), lecz gdy chce zrobić klient to kapa.
W serwerku(delphi) nic się nie dzieje(testowalem klientem napisanym tez w delphi to dziala).
Nie wiem czy dobrze ip wpisuje w tym kodzie i właśnie testowałem obydwie możliwości.
Co jest nie tak?

0

Ostatni parametr socket() to protokół, ma tam być IPPROTO_TCP lub inny, ale nie zero, bo wtedy używasz protokołu IP, ale w niewłaściwym celu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1