public class FormServer : Form {
private SocketServer server;
public FormServer() {
InitializeComponent();
textBoxIP.Text = SocketServer.GetLocalIP();
server = new SocketServer();
server.ClientConnected += new ServerHandler(server_ClientConnected);
server.ClientDataReceived += new ServerHandler(server_ClientDataReceived);
server.ClientDisconnected += new ServerHandler(server_ClientDisconnected);
// creamos el delegate para poder manipular los eventos de los subprocesos
// y sincronizar en el tread corriente
// todo : como se lia esta mierda ...
clientConnectedCallBack = new DelegateClientConnected(onClientConnected);
}
delegate void DelegateClientConnected(ServerArgs args);
DelegateClientConnected clientConnectedCallBack;
void server_ClientConnected(object sender, ServerArgs args) {
Invoke(clientConnectedCallBack,new object[]{args});
}
void onClientConnected(ServerArgs arg) {
UpdateClientList();
}