This project has moved and is read-only. For the latest updates, please go here.

One Active Server

Note that only one OBEX server can be active on a particular protocol at any time. If another server — for instance the operation-system supplied server — is active then the ObexListener will either fail at start-up (likely for IrDA), or will simply never receive any connections (likely for Bluetooth).

On desktop Windows the IrDA OBEX server is implemented by the Infrared Monitor/irmon service, so stop/disable that service to use your own server. On the Microsoft stack the supplied Bluetooth OBEX server is a windows application that the user has to run manually, so there should be no general conflict.

On Windows CE/Mobile running the default Microsoft Bluetooth stack (not Widcomm/Bluetopia/etc) the system has a OBEX server active over both IrDA and Bluetooth which can be disabled by unchecking “Receive all incoming beams.” on the Settings > Connections > Beam control panel. For programmatic control see and (Note that the code sample on the first page uses device name "OBX0:").

Some also had to resort to also editing the registry to set HKEY_LOCAL_MACHINE\Software\Microsoft\Obex to 0 see e.g.

Some HTC devices also include their own OBEX server software which apparently needs to be disabled instead(/also?), with “option Enable Sharing Files (tab FTP, menu Configuration - Connections - Bluetooth)”. I'm slightly confused by this as I thought HTC device used the Widcomm stack.

On Broadcom/Widcomm again the built-in server must be disabled. Presumably it is possible to disable the OBEX server via the Widcomm control-panel. (There is a Widcomm API to act as part of the OBEX server perhaps we can use it to work without having to disable the server. Something for the future perhaps…)

On Bluetopia this issue doesn't arise as the built-in services don't run when a third-party application is using Bluetooth.

Last edited Sep 2, 2012 at 8:55 PM by alanjmcf, version 7