MegaCraZy6
@MegaCraZy6
Юзерь

Assembler WinAPI сокеты, Accept не ждет подключения?

Что не так или где?.. Accept будто и не исполняется) Я пытался найти что и где не так, ни одна функция вроде не возвращает ошибок, делаю вроде все так-же как в книге, ну там компилятор другой поэтому пишу по своему, и библиотека win32ax вместо подключения user32.lib, kernel32.lib, ws2_32.lib

Format PE GUI 4.0
include "win32ax.inc"

start:
invoke AllocConsole
invoke GetStdHandle,STD_OUTPUT_HANDLE
mov [STDO],eax
invoke WriteConsole,eax,mes1,19,0,0
invoke WSAStartup,0202h,WSA
invoke socket,2,1,0
mov [socket_server],eax
invoke bind,[socket_server],addr,sizeof.sockaddr_in
invoke listen,[socket_server],5
invoke accept,[socket_server],addr_client,sizeof.sockaddr_in
invoke WriteConsole,[STDO],mes2,29,0,0
jmp $
.end start

error:
invoke MessageBox,0,'Eror','LOL',0
jmp $

mes1 db 'Server starting..',10,13
mes2 db 'New user connected, receiv:',10,13
buff db 255 dup (?)

struc WSAdata
{
.wVersion       dw ?
.wHighVersion   dw ?
.szDescriotion  db 257 dup (?)
.szSystemStatus db 129 dup (?)
.iMaxSockets    dw ?
.iMaxUdpDg      dw ?
.lpVendorInfo   dd ?
}

struc sockaddr_in
{
.sin_family dw 2
.sin_port   dw 1333
.sin_addr   IP
.sin_zero   db 8 dup (?)
}

struc IP
{
.a_b1 db 0
.a_b2 db 0
.a_b3 db 0
.a_b4 db 0
}

socket_server dd 0
STDO  dd 0
addr  sockaddr_in
WSA   WSAdata
addr_client sockaddr_in
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
invoke accept,[socket_server],addr_client,sizeof.sockaddr_in

accept последним параметром ожидает указатель на размер, а не сам размер.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы