Mam dwa błędy z Boost.Asio.Dokumentacja Boost.Asio nie istnieje. Co oznaczają te błędy?
Pierwszy pojawia się przy próbie odbioru danych na gnieździe:
char reply[1024];
boost::system::error_code error;
size_t reply_length = s.receive(boost::asio::buffer(reply, 1024), 0, error);
if (error) cout << error.message() << endl; //outputs "End of file"
Druga pojawia się przy próbie stworzenia ip :: tcp :: gniazdo z (ważne!) Gniazda ojczystego:
boost::asio::io_service ioserv;
boost::asio::ip::tcp::socket s(ioserv);
boost::system::error_code error;
s.assign(boost::asio::ip::tcp::v4(), nativeSocket, error);
if (error) cout << error.message() << endl; //outputs "The parameter is incorrect"
Z tymi wszystkimi problemami i brakiem dokumentacji, do której się zwracam, mam ochotę wrócić do gniazd BSD, ale mam tutaj swoje własne problemy ... więc jeśli ktoś może pomóc, to naprawdę doceniam to.
EDIT: Jeśli chodzi o numer 2, nativeSocket deklaruje wygląda następująco:
SOCKET nativeSocket = INVALID_SOCKET;
nativeSocket = accept(svr_sock, (struct sockaddr*)&sin, &size);
Po tym, kilka innych rzeczy są zrobione do gniazda - czyli ustawienie go jako non-blocking użyciu ioctlsocket, a przy użyciu setsockopt dla SO_LINGER i SO_OOBINLINE.
Czy możesz podać deklarację/inicjalizację dla nativeSocket? Myślę, że problemy z prob 2 leżą w tym. – rcollyer
Po prostu dodano. –
Pierwsze pytanie: "Koniec pliku" zwykle oznacza, że połączenie zostało zamknięte przez partnera. –