Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс дек 17, 2017 2:51 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 24 сообщения ]  На страницу Пред. 1 2
Автор Сообщение
 Заголовок сообщения: Re: FreshLib первые шаги.
СообщениеДобавлено: Ср окт 24, 2012 12:07 pm 
Не в сети

Зарегистрирован: Пт фев 18, 2011 3:13 pm
Сообщения: 201
hidnplayr, I have some problems with SocketListen. It returns immediately with eax=0 exactly as it has connection. But SocketAccept that always fails with eax = -1.

KolibriOS r2991, autobuild: 22.10.2012;

BTW, this build has some problems with the keyboard - some keys does not work: "d" and "r" for example (although "D" and "R" work)


Последний раз редактировалось johnfound Ср окт 24, 2012 2:13 pm, всего редактировалось 1 раз.

Вернуться к началу
 Заголовок сообщения: Re: FreshLib первые шаги.
СообщениеДобавлено: Ср окт 24, 2012 12:37 pm 
Не в сети

Зарегистрирован: Пт фев 18, 2011 3:13 pm
Сообщения: 201
Sorry, I am wrong here. SockAccept should block until new connection appears. But it does not block at all. How SockAccept should be processed in KolibriOS?


Вернуться к началу
 Заголовок сообщения: Re: FreshLib первые шаги.
СообщениеДобавлено: Ср окт 24, 2012 2:14 pm 
Не в сети

Зарегистрирован: Пт фев 18, 2011 3:13 pm
Сообщения: 201
Next problem (it is not exactly problem, but some kind of inconsistency) f.75 handles the IP address as an normal little-endian number - $7f000001 == 127.0.0.1 (at least the display on the debug board show it this way), while the port as a big-endian number - $901f == 8080;

What can be the reason for SockAccept (fn.75.5) to exits immediately with error. What are the valid values for edx and esi?
I tested to bind the socket (fn.75.2) to arbitrary addresses and it always ends with eax = 0 (i.e. OK)


Вернуться к началу
 Заголовок сообщения: Re: FreshLib первые шаги.
СообщениеДобавлено: Ср окт 24, 2012 2:32 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Пт июн 30, 2006 9:01 am
Сообщения: 1232
All socket functions are non blocking, a network event is generated upon.. you guessed it.. any network event.
Thus if you want to block, wait for event or poll.

Little/big endian issues are mistakes on my side and will be corrected in kernel.
How is it in windows/linux (the endianess ?)

EDIT: I will implement blocking sockets in kernel so you can choose to use blocking or non blocking
EDIT2: Bind does not check the addresses yet, i'll add it to my list ;)

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Вернуться к началу
 Заголовок сообщения: Re: FreshLib первые шаги.
СообщениеДобавлено: Ср окт 24, 2012 4:14 pm 
Не в сети

Зарегистрирован: Пт фев 18, 2011 3:13 pm
Сообщения: 201
hidnplayr писал(а):
How is it in windows/linux (the endianess ?)


AFAIK, both Windows and Linux use big-endian notation for internet addresses - so called network byte order at least for IP addresses.

Цитата:
EDIT: I will implement blocking sockets in kernel so you can choose to use blocking or non blocking
EDIT2: Bind does not check the addresses yet, i'll add it to my list ;)


So, I will pause a little the sockets tests. Please, let me know when you are ready.

Regards.


Вернуться к началу
 Заголовок сообщения: Re: FreshLib первые шаги.
СообщениеДобавлено: Чт ноя 01, 2012 3:38 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Пт июн 30, 2006 9:01 am
Сообщения: 1232
The big/little endian issues should be fixed now (IP and port numbers are big endian aka network byte order now)

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Вернуться к началу
 Заголовок сообщения: Re: FreshLib первые шаги.
СообщениеДобавлено: Чт ноя 01, 2012 5:24 pm 
Не в сети

Зарегистрирован: Пт фев 18, 2011 3:13 pm
Сообщения: 201
Thanks. Tonight I will test it with phWeb server and will fix everything in the library.


Вернуться к началу
 Заголовок сообщения: Re: FreshLib первые шаги.
СообщениеДобавлено: Чт ноя 01, 2012 8:58 pm 
Не в сети

Зарегистрирован: Пт фев 18, 2011 3:13 pm
Сообщения: 201
I fixed the byte order and it seems to be OK now. But still can't set the socket to be blocked. I studied the sources of r2995, but couldn't find any way to set SOCKET.options to SO_BLOCK...


Вернуться к началу
 Заголовок сообщения: Re: FreshLib первые шаги.
СообщениеДобавлено: Вс мар 02, 2014 3:03 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Хотелось бы знать каково реальное положение, прогресс или его отсутствие. Так хорошо все начиналось...

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 24 сообщения ]  На страницу Пред. 1 2

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB