Я пытаюсь сделать веб-сервер, используя сборку x86_64, и по какой-то причине сервер не будет связываться даже с помощью AM, передавая правильные аргументы < /p>
section .text
extern socket, bind, listen, accept, perror
global main
main:
; allocating sockaddr_in
sub rsp, SIZE_OF_SERVER_ADDR
; ; sin_family
mov word [rsp], AF_INET
; ; sin_port
mov word [rsp + 2], PORT
; ; s_addr
mov dword [rsp + 4], INADDR_ANY
; ; unsigned char data[8]
mov qword [rsp + 8], 0x0
mov rdi, AF_INET
mov rsi, SOCK_STREAM
mov rdx, 0
call socket
cmp rax, 0
jl exit_socket_error
; holding the socket_fd
mov r12, rax
mov rdi, r12
mov rsi, rsp
mov rdx, SIZE_OF_SERVER_ADDR
call bind
cmp rax, 0
jl exit_bind_error
mov rdi, r12
mov rsi, 10
call listen
cmp rax, 0
jl exit_error
call listening_msg
while:
mov rdi, r12
mov rsi, rsp
mov rdx, 4
call accept
cmp rax, 0
jl exit_error
call client_connect
jmp while
< /code>
Я уже пытался передавать аргументы на пользовательскую функцию, чтобы увидеть, не удастся ли, но не возвращает -1 ни в одной из функций. Но когда я сделаю запрос на сервер, я получаю < /p>
Failed to connect to localhost port 6000 after 0 ms: Couldn't connect to server
Подробнее здесь: https://stackoverflow.com/questions/794 ... n-assembly
Вызов Socket (), bind () и слушать () не работает на сборке ⇐ Linux
-
Anonymous
1739459050
Anonymous
Я пытаюсь сделать веб-сервер, используя сборку x86_64, и по какой-то причине сервер не будет связываться даже с помощью AM, передавая правильные аргументы < /p>
section .text
extern socket, bind, listen, accept, perror
global main
main:
; allocating sockaddr_in
sub rsp, SIZE_OF_SERVER_ADDR
; ; sin_family
mov word [rsp], AF_INET
; ; sin_port
mov word [rsp + 2], PORT
; ; s_addr
mov dword [rsp + 4], INADDR_ANY
; ; unsigned char data[8]
mov qword [rsp + 8], 0x0
mov rdi, AF_INET
mov rsi, SOCK_STREAM
mov rdx, 0
call socket
cmp rax, 0
jl exit_socket_error
; holding the socket_fd
mov r12, rax
mov rdi, r12
mov rsi, rsp
mov rdx, SIZE_OF_SERVER_ADDR
call bind
cmp rax, 0
jl exit_bind_error
mov rdi, r12
mov rsi, 10
call listen
cmp rax, 0
jl exit_error
call listening_msg
while:
mov rdi, r12
mov rsi, rsp
mov rdx, 4
call accept
cmp rax, 0
jl exit_error
call client_connect
jmp while
< /code>
Я уже пытался передавать аргументы на пользовательскую функцию, чтобы увидеть, не удастся ли, но не возвращает -1 ни в одной из функций. Но когда я сделаю запрос на сервер, я получаю < /p>
Failed to connect to localhost port 6000 after 0 ms: Couldn't connect to server
Подробнее здесь: [url]https://stackoverflow.com/questions/79436687/calling-socket-bind-and-listen-doesnt-work-on-assembly[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия