roxen.lists.pike.general

Subject Author Date
Appendix (connect.pike) to: socket->accept returning 0 Philipp Hancke <fippo[at]goodadvice[dot]pages[dot]de> 15-12-2008
constant max = 1024;
constant parallel = 32;

constant host = "127.0.0.1";
constant port = 1935;

array(mixed) sockets = allocate(max);
int connected = 0;

void logon(int success) {
    werror("logon %d\n", success);
    if (success) {
	werror("logon %d success\n", connected); 
	connected++;
	if (connected == max) 
	    return;
	if (connected % parallel == 0) {
	    for(int i = connected; i < connected + parallel; i++) {
		sockets[i] = Stdio.File();
		sockets[i]->async_connect(host, port, logon);
	    }
	}
    }
}

int main() {
    for(int i = 0; i < parallel; i++) {
	sockets[i] = Stdio.File();
	sockets[i]->async_connect(host, port, logon);
    }
    return -1;
}