Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [c] WSAAsyncSelect()

    ciao...

    la funzione WSAAsyncSelect() per la programmazione dei socket asincronici, puo essere usata solo tramite le api di windos???

    se si come posso creare la finestra nella quale questa scrive i messaggi???

    se mi potreste fare un esempio vi sarei eternamente grato.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    "asincronici" ... ? VVoVe: ... asincroni ...

    Non ho compreso la domanda ... come vorresti utilizzare la WSAAsyncSelect ?

  3. #3
    asincroni...

    il problema è proprio che non so come utilizarla!!!

    volevo sapere se per utilizzaarla devo per forza conoscre la programazzione dell api di windows per creare la finestra che riceve i messaggi??? se non ho capito male...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Beh ... sì ... quale "altra programmazione" dovresti conoscere?

    E' tutto documentato su MSDN ...

    Sai lavorare con i normali socket sincroni?

  5. #5
    Devo saper programmare con WINAPI e io ho sempre programmato sulla consol del ms-dos!!
    mi hai capito??? il problema e solo questo...

    si i socket sincroni li sò adoperare...

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Guarda che si programma con le Winapi anche con la console del DOS ... ma lasciamo perdere ...

    Semmai ti serve un "handle ad una finestra" e dovresti crearne una ...

    Se hai ancora poca esperienza, lascia perdere i socket asincroni ...

  7. #7
    si ho poca esperienza ma son cose che devo imparare...

    pero mi servirebbe risolvere questo problema :

    volevo scrivere un programma che facesse lo scanner delle porte di un pc!!!

    per farlo uso i socket non blocanti e ottengo questo errore
    WSAEALREADY ...

    questo è il codice :

    code:


    #include <stdio.h>
    #include <winsock.h>

    int main () {

    WSADATA data;
    int err = WSAStartup(MAKEWORD(2,2), &data), porta;
    SOCKET sock;
    SOCKADDR_IN sock_in;

    unsigned long arg = 1;


    if ( err != 0) printf("Libreria non inizializata, ERRORE %d \n", WSAGetLastError ());


    sock = socket(PF_INET, SOCK_STREAM, 0);

    if ( sock == INVALID_SOCKET)

    printf("Funzione SOCKET non correta, ERRORE %d \n ", WSAGetLastError ());


    err = ioctlsocket(sock, FIONBIO, &arg);

    printf("Valore arg : %l", arg);


    if ( err == SOCKET_ERROR)

    printf("Funzione IOCTLSOCKET non riuscita, ERRORE %d \n", WSAGetLastError ());

    sock_in.sin_family = AF_INET;
    sock_in.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");


    for ( porta = 0; porta <65535; porta++) {
    sock_in.sin_port = porta;


    err = connect(sock, (SOCKADDR *)&sock_in, sizeof(struct sockaddr));

    if ( err == SOCKET_ERROR)

    printf("Funzione CONNECT non riuscita, ERRORE %d \n", WSAGetLastError ());

    else printf("Funzione connetc riuscita, porta %d\n", porta);

    }



    stavo pensando di usare la funzione select, ma non sono riuscito ad ottenere grandi risultati!!!

    grazie

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In quale linea ottieni l'errore ?

    P.S. E' "indispensabile" che tu sistemi il codice e usi i tag [ CODE ]perche' cosi' e' inguardabile ...

  9. #9
    Si hai ragione ma ora non me lo fa più modificare!!! La prossima volta ne terro conto...

    L'errore lo ritorna la funzione connect....


    WSAEALREADY
    (10037)
    Operation already in progress.
    An operation was attempted on a non-blocking socket that already had an operation in progress - i.e. calling connect a second time on a non-blocking socket that is already connecting, or canceling an asynchronous request (WSAAsyncGetXbyY) that has already been canceled or completed.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.