Archive for Maggio, 2007

.NET, C, Source Code, UDP Communication

UDPSender: Inviare messaggi udp in c#

Questo post fa parte della sezione Comunicazione UDP, e tratterà l’utilizzo di una semplice classe per inviare messaggi dalla propria applicazione c# utilizzando il protocollo udp.

Header UDP

La classe si chiama UDPSender e, per comodità, implementa un’interfaccia denominata INetworkSender.

public interface INetworkSender
{
	void SendMessage(string address, byte[] message);
}

In più in caso di errore la classe genera una eccezione del tipo UDPSenderException che contiene la descrizione dell’errore, la causa dell’eccezione (innerException), e l’oggetto UDPSender che ha generato l’eccezione.
Continue Reading »

C, Source Code, UDP Communication

UDPListener: Classe che riceve messaggi UDP

Questo post fa parte della sezione Comunicazione UDP, dove vengono raccolti gli articoli inerenti la programmazione dei socket UDP in C#.

UDP - User Datagram Protocol

La classe in questo post permette in maniera facile e veloce di ricevere messaggi UDP con poche righe di codice e senza scendere nei dettagli dell’implementazione. Un esempio di utilizzo della classe è il seguente:

private void InitConnection()
{
	m_udpListener = new UDPListener(m_port, new byte[4] { 0, 0, 0, 0 });
	m_udpListener.MessageReceived += new UDPMessageReceivedDelegate(udpListener_MessageReceived);
}

Continue Reading »

C, Windows

Conoscere tutti i processi in esecuzione da una unità

Continuando sulla scia della gestione in c++ delle unità removibili, il post seguente tratterà di come conoscere tutti i processi in memoria, che siano stati lanciati da un drive in particolare. Questo può essere utile, ad esempio, per chiudere tutti i processi di un pendrive che si vuole “smontare”.

Processi

Per ottenere la lista dei processi in esecuzione windows mette a disposizione due metodi: uno derivante da windows 95 (TOOLHELP API), compatibile quindi con tutti gli s.o. di microsoft dal 95 in poi, ed un metoto introdotto in windows NT (PSAPI), compatibile con gli s.o. derivanti da esso (NT, 2000, XP e vista). Naturalmente, dato che la stragrande maggioranza dei utenti windows usa xp, o vista :( , nell’esempio qui sotto ho usato le PSAPI. Attenzione però, per potere includere il file psapi.h bisogna istallare il “Platform SDK”.
Continue Reading »

C, Source Code, Windows

Classe timer in c++

Partendo dall’articolo sui timer in c++, abbiamo creato una semplice classe che fa da wrapper alle funzioni di Windows e che permette facilmente di fare partire un nuovo timer, stopparlo, e decidere quale funzione chiamare quando il tempo del timer è scaduto.

Timer

Un semplice esempio di utilizzo della classe è il seguente:
Continue Reading »

.NET, C, Source Code

Calcolo del CRC in C#

Questo è un post veloce sul calcolo del codice CRC(Cyclic Redundancy Check) in C#. Per lavoro mi serviva una classe che mi calcolasse il crc-12, e non vi nascondo che ho avuto un poco di difficoltà nel trovare le specifiche dato che, di solito, gli standard più usati sono crc-8, crc16 e crc32.

binary matrix

Alla fine ho trovato una classe che mi permettava di calcolare il crc di ordine variabile da 1 a 32, ho inserito lo standard crc-12, ho aggiunto una classe per semplificare l’inserimento dei valori (CRCSettings) e una funzione per generare altri polinomi oltre quelli standard. Infine ho ripulito la struttura della classe principale.
Continue Reading »

MySQL, Source Code, Web, php

Backup di un database mysql da php

La classe MySQLDump è stata aggiornata a una nuova versione e questo articolo contiene informazioni obsolete. Per informazioni sulla nuova versione controllare l’articolo sulla nuova versione

In questi giorni ho deciso di scrivermi uno script su linux, per aggiornare automaticamente la mia copia in locale di questo “FANTASTICO” sito, in modo da potere smanettare sul css e sulle pagine, senza disturbare i lettori. Sinceramente mi sembrava una cosa veloce, infatti dovevo semplicemente fare il dump del database mysql di aruba, riversare il tutto nel mio db locale e opzionalmente scaricare l’intero sito via ftp. Senonché ho, tristemente, scoperto che aruba non dota i suoi “hosting server” del comando “mysqldump” (ottima utility che consente velocemente di fare il dump completo di un db mysql).

Lamp

A questo punto ho deciso di sbracciarmi le maniche e ho capito che avrei dovuto mettere mano al php. Per evitare di iniziare da zero, ho cercato qualcosa di più o meno pronto da modificare il meno possibile.

Continue Reading »