I have tried to find some documentation on winsock for win-8 on MSDN but i cant find anything. i want to use socket programming in C++ in win-8 but come from other lang's. does anyone know a good tutorial on winsock for Win-8
Yes & NO Winsock in Windows 8 is almost as same as in Win 7 , Vista , Windows OS's.
The real major Difference in Windows 8 is Lower Level Hooking such as ZwOpenProcess() & other Zw (Kernel functions). This was changed so that Root-kits such as Agony Root-kit or other Ring0 root-kits cannot hide in the system but the NtOpenProcess or other Nt (Usermode functions) are the same so still Ring3 Root-kits are still able to function but may not correctly work. In which case I mean it may not be able to hook other processes without causing a BSOD (Blue Screen Of Death).
If understood my Hooking part you must know Hooking send() or recv() or other network functions function in Windows 8 is slightly changed . This means the send() and other netowork functions, function is slightly different but the actual syntax is not different but the Network Protocols may be slightly modified. This can be called major since new Network or Packet analyzers may need to try hook send() and recv() & other network functions. This may mean the programmers of those products need to find a other way to hook those functions in windows 8 so they may need to do memory maths to find the entry point & offset of those functions in windows 8.
But only deep within Windows 8 there may be a slight variation of network programming. Again in very OS version there may be a small change in the Network and Data Sending functions or even in protocols.
Source : I have been finished developing a OS
Im sorry mabye it would help if i clear this up, I just want to see a server that binds a host and port and then sends a msg to any connected client. i said win-8 beacause thats what im running and dont want any ancient winsock api.
They're still the same send/recv functions and I find nothing so bad in them.
So, what should have Microsoft done?
1. Change them, because they're "old", forcing everyone to update their existing applications to support the new ones as the old functions are now "deprecated"
2. Keep them, so having people (like the one in my post above) bothering they're "old" and they don't trust their flawless working
I'd choose option two.
They work flawlessly, and need no different equivalents.
It's like, "hey, for the new generation of Motherboards I will change memset so it goes C++ only and it forces Templates usage so it's gonna be easier! The old one will be unsafe now, no one dares to use it!". Doesn't it sound bad and aggressive?