[Mono-dev] Tests for Socket Local-/RemoteEndPoint

Andy Hume andyhume32 at yahoo.co.uk
Mon Feb 5 10:04:25 EST 2007

I would like to offer to help with having System.Net.Sockets.Socket support multiple protocol families, noting the comment on the Local-/RemoteEndPoint properties "// Wish:  support non-IP endpoints."  I've worked with the guys who provide IrDA and Bluetooth support on .NET (http://32feet.net) and through that, and watching in the debugger how their EndPoint implementations are used by MSFT's socket I can explain how the third-party EndPoint support works; sadly a description of this is not present in any official/MSFT documentation.

Sadly I've also confirmed this by looking with Reflector, so am I right in thinking I shouldn't provide patches for this?  I have a set of tests that shows the observed behaviour on MSFT however and have tested this locally with local patches and have seen IrDA work (on Windows).  In fact the feature that Windows uses is describable in one sentence.  So how should I proceed on this?  Just post the new tests here?  There's no danger of legal problems just providing tests showing external behaviour is there?

Subsequently I can provide patches to the native IO layer to support IrDA, which takes rather a sizeable amount of work (and perhaps then Bluetooth).  But I've only tested so far on Windows, and I presume testing another platform (say Linux's IrDA) before inclusion would be preferable.


$ mono --debug  "D:\Documents and Settings\alan\My Documents\Visual Studio 2005\Projects\TmpIrda32f\irdaDotNetDiagnostic\bin\Debug\irdaDotNetDiagnostic.exe"
** Message: IrDA sockopt map 0xff/0x10 --> 0xff/0x10
1 Devices found
0: Nokia 6210, addr: B60F0000, type: PnP, Modem, Fax, Extension, Telephony, IrCOMM, Obex
Selected #0
SocketAddress: family: Irda, size: 32
00: 1A-00-00-00-0F-B6-4F-42-45-58-00-00-00-00-00-00
10: 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
Gonna connect to, B60F0000 OBEX
** Message: AndyH 00: 1a 00 00 00 0f b6 4f 42  45 58 00 00 00 00 00 00
** Message: AndyH *sa_size=32

Sleeping for 5 seconds...
Sending some text now...
Going to access LocalEndPoint
is type: IrDAEndPoint
value: 00000000:LSAP-SEL74
Going to access LocalEndPoint
is type: IrDAEndPoint
value: B60F0000:OBEX

All New Yahoo! Mail – Tired of Vi at gr@! come-ons? Let our SpamGuard protect you. http://uk.docs.yahoo.com/nowyoucan.html

More information about the Mono-devel-list mailing list