Добавьте пустой файл __init__.py
в путь locallibrary\settings
Затем выполните команду управления с помощью python manage.py runserver --insecure --settings=locallibrary.settings
Winsocks не очень совместимы с сокетами Posix:
SOCKET
. В Posix это просто файловый дескриптор ( int
), для которого вы можете выполнять обычные вызовы read ()
и write ()
. recv ()
и send ()
. shutdown ()
или close ()
. Вместо этого это что-то вроде closesocket ()
. Должно быть больше различий, но это то, что я могу вспомнить прямо сейчас. Если вы хотите переносимости с Winsocks, вы '
Сколько штук сокетов вы будете использовать? Я сделал несколько приложений, где сокеты были довольно высокого уровня (открывать, читать, писать) и отлично работали от Windows до Linux. Если это больше, чем это - идти с повышением.
Честно говоря, я бы использовал boost :: asio в качестве первого предпочтения. Если вы действительно хотите разбираться с API сокетов, вы можете использовать стандартный API сокетов в стиле BSD как для Windows, так и для Linux - просто в Windows вам нужно будет ссылаться на (и инициализировать) Winsock2, тогда как на В Linux у вас не будет отдельной библиотеки для ссылок.
Я разработал несколько переносных оберток для сокетов. Убедитесь, что вы не спускаетесь по дрянной дороге без возврата, состоящей из событий WinSock2. Помимо этого, на мой взгляд, самые большие различия заключаются в следующем:
:: WSAStartup ()
, чтобы закрыть его в Windows, запустите :: WSACleanup ()
; в Linux ничего не делать, close ()
в Linux - это closesocket ()
в Windows, SO_RCVBUF
и SO_SNDBUF
, :: ioctlsocket ()
в Windows, :: fcntl ()
в Linux,
и другие в Linux,
в Windows, :: select ()
, чтобы дождаться прибытия данных, fd_set
в Windows / Linux совершенно другие; это актуально только в том случае, если вам нужно оптимизировать инициализацию fd_set
s, например, при добавлении / удалении произвольных сокетов, :: recvfrom ()
, вы можете рассмотреть возможность использования ::
Взгляните на библиотеку «Adaptive Communications Environment» (ACE): (Домашняя страница ACE) Он предоставляет несколько хороших абстракций и большую гибкость, объединенные в портативную библиотеку, которая поддерживает Windows, MacOS и Linux. У него довольно крутая кривая обучения, но я получил от него очень хорошую оценку.
Взгляните на это ... http://sourceforge.net/projects/cpp-sockets/