porting

I want to know what are the design considerations to be taken into account. when porting a socket project from Unix platform to another ......

It's better to port sources under autotools (http://sources.redhat.com/autobook/\) and then (auto)compile program under other platform

There is a SFU(Services for Unix) software that one can download from www.microsoft.com i am working on a project on this, porting a Unix based project to SFU. has anybody worked on SFU before. What are the design consideration to be taken into account when porting a project from Unix to SFU..

Nononono. No. No, no, no. No. No? No. No! Noooooooo!

Services For UNIX is not UNIX for windows... Services For UNIX is things like Windows-based NFS, lpd, telnet, shell, etc. Unless you're porting Korn scripts, Services for UNIX isn't going to be much help.

If you want a "UNIX for windows" library the closest you're probably going to get is Cygwin.

sfu works exactly like Unix, except that the platform is WINDOWs, so any idea, about the design considerations to be taken into account, when you port a C project written in Unix To SFU

It appears you are correct, and that SFU provided more than I thought it did.

The biggest design consideration is that SFU has already been end-of-life'd. Depending on it working in the future is going to be risky, especially given there's no way for users to improve it themselves.

Again, cygwin is a good, non-suck alternative that won't chain you to the whims of a company most of it's users hate.

What a? With autotools you can compile your program even under Windows (e.g. using gcc under Cygwin). Why not? Most programs under GNU and on sourceforge uses these utotools.

i have downloaded cygwin. Is there a vi editor supported on it. I am not able to find it also a lot of other commands are not available.. Plz help

Yes, there are vi for cygwin. During installation of cygwin you are prompted to select packages to be installed, probably you've missed vi (or you simply haven't such package).
After installing vi do not forget to create .vimrc file, otherwise you'll have problems with commands in vi (perhaps this relates to me only).

Look at Cygwin Package Listing