The NXT can have one inbound (via waitForConnect) and 3 outbound connections at the same time. Note however that having more than one connection open at once will result in much slower communications (because the NXT has to switch the Bluecore module between connections which can take up to 250ms per switch).

So outbound would mean to connect TO another nxt?
for example if you get a device via

RemoteDevice btrd = Bluetooth.getKnownDevice(name);

and the connect to it with

Bluetooth.connect(btrd);

?

In this case i get a runtime-error while i try to wait for in inbound connection after i connected to the first device:
The first(outbound) connection is successful, and the nxt waits for an incoming connection. The incoming connection seems to success on the other device, but on my device which handles two connections it crashes totally.

Well ive tried coding the NXT as the initiator for the bluetooth connection however im having trouble with connecting it to the specific MIDlet program.
The NXT connects to the mobile phone(as the phone flashes the bluetooth logo) but does not connect and react to the specific MIDlet program.

The java ME Midlet code for the bluetooth server program is as follows :

The NXt can only connect to the first spp channel/id on the device. There is often already a program/virtusl device attached to this on phones and PCs (usually a virtual comm port). For this reason it is often easier to have the PC/Phone connect to the NXT...

Thanks for the tip gloomyandy, although thats a real shame.
Originally i planned on using 1 phone as the master server recieving all incomming connections.

Howerver since thats not possible, i created a MIDlet to act as both a bluetooth reciever and initiator. Ive only just started programming with bluetooth on j2me but it seems wierd having the phone act as both a server and client? But i guess this is the wrong forum for that.
Thanks for the help.

Inbound are connections made to an NXT (so the NXt uses Bluetooth.waitForConnection), outbound connections are made from the NXT (so the NEXT uses Bluetooth.connect). You can have three outbound connections (connections initiated by the NXT), but only one inbound (connections to the NXT from some other device)...

There is no master or slave here, there are simply connections. When you call Bluetooth.connect then the connection is created, once it has been created you can use it to read and write data to whatever you have connected to. If you have one nxt open three outbound connections to three other NXTs then there is no connection between the other three NXTs so if you want to talk between them you will have to go via the NXT that has connections to the others.

You should note though that if an NXT has multiple connections open then the speed of those connections is much slower than for a single connection (each send/receive will take several hundred milliseconds, instead of 30ms or so). For this reason you may be better off using a PC as you communications hub rather than an NXT.