Post con tag socket

Comunicazione mediante WebSocket e Tomcat 7

Le WebSocket rappresentano una tecnologia che consente una comunicazione bidirezionale e full-duplex tra il client e il server.
In particolare, consente ad applicazioni browser-based di comunicare con un host remoto senza la necessità di aprire connessioni multiple utilizzando AJAX o IFrame, in combinazione con il long polling.

Lato client, le WebSocket sono implementate nella maggior parte dei browser di ultima generazione. La tabella riportata sul sito caniuse.com può essere d’aiuto.
Lato server, esistono diverse implementazioni di WebSocket. In questo articolo prenderemo in considerazione l’implementazione Java fornita da Apache Tomcat 7. Come indicato nella documentazione, l’API potrebbe essere soggetta a cambiamenti.

Continua >

Echo Server multithreaded in Java

Il codice seguente implementa un Echo Server multithreaded in Java.
Nel main, il server viene creato e si mette in attesa di connessioni.
Ogni volta che giunge una nuova connessione, viene creato un oggetto EchoThread, che implementa l’interfaccia Runnable, il quale gestisce la connessione con il client.
La comunicazione tra il thread e il client termina nel momento in cui il client si disconnette o invia la stringa quit.

Continua >

Echo Server in Java

Il codice che segue implementa un semplice Echo Server in Java.
Il programma crea un ServerSocket che resta in attesa di una connessione. Quando riceve una connessione in ingresso, legge i dati in ingresso fino al loro termine o fino a quando non viene incontrato il carattere di newline, ed effettua l’echo.
Il server si limita a ricevere, rispondere e chiudere la connessione, senza rimanere in attesa di ulteriori input.

Continua >

Java: la classe ServerSocket

La classe ServerSocket, contenuta nel package java.net, è utilizzata per fornire le funzionalità che consentono di creare un server in Java.

I costruttori di questa classe sono:

// crea un socket senza effettuare la bind
ServerSocket()
// crea un socket ed effettua la bind sulla porta specificata
ServerSocket(int port)
// crea un socket, effettua la bind sulla porta specificata
// e setta il backlog
ServerSocket(int port, int backlog)
// crea un socket, effettua la bind sulla porta e sull'indirizzo
// specificato, e setta il backlog
ServerSocket(int port, int backlog, InetAddress bindAddr)

Tutti i costruttori lanciano una IOException se avviene un errore in fase di creazione del socket.

Continua >

Web Server minimale in C++ su piattaforma Unix/Linux

Un Web Server è un’applicazione che ha il compito di rispondere ad una richiesta da parte di un client, fornendogli solitamente una pagina web.
Il Web Server qui descritto è capace di fornire una pagina statica, se questa è presente, o un messaggio di errore se la pagina non è disponibile (cioè, può rispondere con un codice 200 o con un codice 404).
La sua struttura del è molto simile a quella dell’Echo Server.

Continua >

Echo Server in C++

Il seguente articolo mostra l’implementazione di un echo server in C++ su piattaforma Unix/Linux.
Il server utilizza un processo principale per restare in ascolto di connessioni e un processo separato per ogni connessione aperta.


Continua >

Programmazione di rete asincrona in Python con il modulo select

Il modulo select, se il sistema operativo lo supporta, permette la comunicazione asincrona evitando di creare nuovi processi o thread.
Viene passato in input, alla chiamata select.select, una lista di socket da cui ricevere, una lista di socket su cui scrivere e una lista di server in stato di errore, e vengono ritornate tre liste, ciascuna sottoinsieme delle liste descritte.
Continua >

Semplice downloader HTTP in Python

Effettuare il download di una pagina web in Python, tramite socket, è un lavoro abbastanza semplice.
Più arduo è il parsing della risposta, la gestione del traferimento ecc…
Nonostante ciò, è possibile, con poche linee di codice, avere un programma funzionante:
Continua >

Esempio mininale sui socket in Python

L’esempio che seguirà ha il compito di mostrare sinteticamente l’utilizzo di un socket TCP/IP per una semplice comunicazione server-client.
In particolare simula lo scheletro di una comunicazione echo:
Continua >