Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: uhm.. ehm.. socket?

  1. #1

    uhm.. ehm.. socket?

    perdonate il titolo

    mkdir fa le dir
    mknod fa i nod
    mkfifo fa le fifo
    perchè non hanno fatto anche mksock?

    dunque come si fa a creare un file che sia un socket? e magari come si fa a collegarlo?
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  2. #2
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Le socket non sono files...
    Per maneggiare le socket devi usare un linguaggio di programmazione... Per creare una socket devi usare un file descriptor... Il Kernel gli assegna il codice si una socket (ma non c'e' bisogno di scrivere sul disco)...
    Quindi usi questa socket per connetterti, ricevere connessioni etc...

    Le fifo infatti sono pipe con nome: sono come le normali pipe (tubi che puoi aprire tra due programmi: uno scrive e l'altro legge...), ma in piu' scrivono un file sul disco affinche' possano venire letti da piu' programmi avviati in maniera differente, senza il bisogno di dover forkare un programma e collegare i due processi con una pipe...

    Se ti interessa usare le socket in C leggiti qua': http://www.lilik.it/~mirko/gapil/gapil.html (soprattutto la seconda sezione)

    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  3. #3
    Originariamente inviato da /dev/null
    Le socket non sono files...

    invece sì
    cioè esistono anche i file di tipo socket.
    come le fifo sono pipe con nome.. io vorrei fare un socket con nome e metterlo su disco, ma non ho trovato da nessuna parte come si fa. col file descriptor ok, ci abbiamo fatto 7 esercizi di laboratorio a info2 su sta roba
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  4. #4
    Io i socket li creo con un file descriptor, ma anche se uso le stesse funzioni che uso per i file non scrive nessun file effettivo. Nei socket c'è il socket descriptor che è paragonabile al file descriptor per i file. Ma forse tu intendi un'altra cosa
    Powered by Linux

    "Windows cerca di fare Unix e ci riesce male, Red Hat cerca di fare Windows e ci riesce benissimo" (Jimmy Olgeni)

  5. #5
    quel ke dite è perfetto.. xò io sapevo ke dei file reali, quindi con nome, possono essere di tipo socket, solo ke non ho idea di come si creino nè di come si colleghino

    dite che non si può?
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  6. #6
    Se dici che sono di tipo socket IMHO non dici più di tanto. Cioè... io non trovo senso in questo
    Powered by Linux

    "Windows cerca di fare Unix e ci riesce male, Red Hat cerca di fare Windows e ci riesce benissimo" (Jimmy Olgeni)

  7. #7
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Ritiro cio' che ho detto prima
    La mia Bibbia dice che e' possibile creare un file socket:
    http://www.lilik.it/~mirko/gapil/gapilsu57.html
    pero' non ne parla piu'... Nei capitoli in cui tratta i socket non accenna all'esistenza di files socket in nessun versetto...
    Dal Vangelo secondo Simone Piccardi



    (OK, temo di aver perso la retta via :rollo:
    Adesso basta discordi profani )
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  8. #8
    Uhm mi giunge nuova facendo una brevissima ricerca con Google non ho trovato nulla, se non un accenno negli appunti di informatica libera (che, comunque, riguardavano la rete)... comunque, quel riferimento nel Gapil punta al capitolo 14 che spiega i socket
    Powered by Linux

    "Windows cerca di fare Unix e ci riesce male, Red Hat cerca di fare Windows e ci riesce benissimo" (Jimmy Olgeni)

  9. #9
    Originariamente inviato da /dev/null

    http://www.lilik.it/~mirko/gapil/gapilsu57.html
    è proprio a ciò ke mi riferivo sigh!
    dice ke esistono i file di tipo socket, ma poi (ho letto fin'ora) non dice più assolutamente nulla, parla di mkdir() mknod() ecc. ma di sock non c'è nulla, voi non è ke ne sapete qcs eh?
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  10. #10

    Re: uhm.. ehm.. socket?

    Originariamente inviato da adarkar

    mkdir fa le dir
    mknod fa i nod
    mkfifo fa le fifo
    perchè non hanno fatto anche mksock?
    Perche`, presumo, per le necessita` "locali" (senza scomodare la rete) di comunicazione a livello di shell tra processi una
    fifo o una pipe e` generalmente sufficiente, mentre per necessita` piu` elaborate e` piu` salutare metter mano al C (o ad altro linguaggio di programamzione), ragion per cui un comando del genere non avrebbe avuto molto senso.

    [edit]
    se invece si parla di syscall, il motivo per cui manca mksocket() credo proprio sia di uniformita` (beh, tentativo di) visto che il socket e` un'interfaccia alla fine generica che puo` essere usata sopra la rete come no; ragion per cui si usano le stesse funzioni (socket()/bind()...) cambiando i parametri ove necessario
    [/edit]


    dunque come si fa a creare un file che sia un socket? e magari come si fa a collegarlo?
    Non e` esattamente quello che chiedi, ma potresti usare nc per queste cose.
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

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.