CAsyncSocket::SendTo

intSendTo (Stałavoid *lpBuf,intnBufLen,UINTnHostPort,LPCTSTRlpszHostAddress=nFlags=intNULL,0);

int SendTo ( Stała void * lpBuf, int nBufLen, const SOCKADDR * lpSockAddr, int nSockAddrLen, int nFlags = 0 );

Wartość zwracany

Jeśli błąd nie wystąpi, SendTo zwraca wartość całkowita liczba znaków wysłanych. (Należy zauważyć, że ta może być mniejsza niż liczba wskazana przez nBufLen). W przeciwnym wypadku zwracana jest wartość SOCKET_ERROR , a kod błędu mogą być pobierane przez wywołanie GetLastError. Następujące błędy stosuje się do tej funkcji członek:

Parametry

lpBuf

Bufor zawierający dane, które mają być przekazywane.

nBufLen

Długość danych w lpBuf w bajtach.

nHostPort

Port identyfikacji aplikacji gniazda.

lpszHostAddress

Adres sieciowy gniazda, do którego podłączony jest ten obiekt: nazwa komputera, takich jak "ftp.microsoft.com" lub kropkowane liczbę takich jak "128.56.22.8".

nFlags

Określa sposób, w której połączenie jest nawiązywane. Semantyka tej funkcji są określane przez opcje gniazda i parametr nFlags . Ten ostatni jest wykonane przez łączenie dowolnego z następujących wartości z operatorem C++ lub:

lpSockAddr

Wskaźnik do struktury SOCKADDR , zawierający adres gniazda docelowych.

nSockAddrLen

Długość adresu w lpSockAddr w bajtach.

Uwagi

Wywołanie tej funkcji członek może wysyłać dane do określonego miejsca przeznaczenia. SendTo jest używany na datagram lub strumienia gniazd i jest używany do zapisu danych wychodzących na gnieździe. Dla datagramu gniazd opieki należy się nie mogą przekroczyć maksymalnej IP rozmiar pakietu podstawowego podsieci, określonego elementu iMaxUdpDg w strukturze WSADATA wypełnione przez AfxSocketInit. Jeśli dane są zbyt długie, aby przekazać atomically za pośrednictwem protokołu leżących u podstaw rozliczeń, zwracany jest błąd WSAEMSGSIZE i żadne dane nie zostały przekazane.

Należy zauważyć, że ukończenie SendTo nie wskazuje, że dane pomyślnie dostarczona.

SendTo jest używana tylko na gniazdo SOCK_DGRAM do wysłania datagramu do określonego gniazda określone przez parametr lpSockAddr.

Aby wysłać emisji (na SOCK_DGRAM tylko), powinna być konstruowana adres w parametrze lpSockAddr , przy użyciu specjalnego adresu IP INADDR_BROADCAST (zdefiniowany w pliku nagłówka Windows Sockets WINSOCK.H) wraz z numerem planowany port. Lub, jeśli parametr lpszHostAddress ma wartość NULL, gniazdo skonfigurowano dla emisji. Nie jest ogólnie wskazane dla emisji datagramu przekracza rozmiar, w którym mogą występować fragmentacji, co oznacza, że część danych datagramu (z wyłączeniem nagłówków) nie powinna przekraczać 512 bajtów.

Omówienie CAsyncSocket |nbsp; Klasa członków | Wykres hierarchii

Zobacz też CAsyncSocket::Create, CAsyncSocket::Receive, CAsyncSocket::ReceiveFrom, CAsyncSocket::Send

Index