"White Spirit" <ws*****@homechoice.co.ukwrote in message
news:45********@news1.homechoice.co.uk...
>I should add that the purpose is to write a security application that scans
a range of IP addresses using a SYN scan. The problem with raw
Why would you expect a class library to take care of domain-specific
behavior? The reason you need to create the packets yourself, is because
the behavior you want is different from what the libraries create, not
because the libraries don't exist.
Of course, it's possible to write a class to expose all the standard
elements of the IP and TCP header... but it becomes quite difficult if you
need to handle arbitrary options. It will also be quite inefficient
compared to direct bit manipulation.
The best would probably to use gather sends to collect the various headers
and payload... C# is just a poor choice for this. Under windows, you could
mix C++/CLI for the lowest layers with C# for business logic. Under mono,
there's nothing like MS IJW. The sooner you switch to a different platform,
one designed for low-level system control, the better.
sockets being blocked in certain versions of Windows isn't a problem as
I'm using the Mono C# development environment under Linux.