• Forum
  • Lounge
  • how to upgrade C++ knoweledge to GUI and

 
how to upgrade C++ knoweledge to GUI and socket programing?

Hello,
so I have few basic questions and would like to hear your opinion about choosing a right way in C++ programing:
I'm stil learning basics like classes, templates, and standard libraries but I wanna prepare my self like, where to continue first:
sockets: winsock, boost or BSD sockets
GUI: wxwigets or QT or MFC
windows programing using windows libraries like "windows.h" etc...


I would just like to know how may time it does takes to learn basic network programing (TCP, UDP, ICMP) and making simple GUI programs with sockets related to windows platform.
what are diferences between one or another "libraries sets"

to be more precise I dont care if winsock is harder to learn then boost, if winsock is better and more powerfull than I'll spend time to learn that reather then give up and change my mind few moths later. aka "the other thing would be maybe better"
same with GUI.

for example:
windows->GUI->sockets or whatever :/

Any advice is welcome!
Last edited on
Hi,

My advise would be to start with system programming who includes networking, then GUI.

For Windows, a good system programming book is :

http://www.amazon.com/Windows-Programming-Addison-Wesley-Microsoft-Technology/dp/0321657748/ref=sr_1_1?ie=UTF8&qid=1320762925&sr=8-1

hey thank alot!
I've just downloaded it and the book look OK, but it's only 600 pages, I'll give it a try.
If you want to make any project in socket programming then this project source code may help you http://codeincodeblock.blogspot.com/2011/10/winsock-programming-sample-project.html
No love for Qt sockets? :(

If the OP decides to go with Qt as a cross-platform multipurpose API, then Qt Sockets might integrate better with the rest of the Qt application.

-Albatross
thanks all!
@ireni,
I'll chek them out all and see which one fits my programing fealings :D

and what about most valuable socket libraries?
winsock, boost or some else which libraries would be the most valuable to learn

searching google and forums I've concluded QT is best for creting GUI?
what is the OS on which you plan to develop?

For Windows, of course use Winsock.

One UNIX/linux, try BSD sockets (take a look on the Steven's book related).

Qt is one of the best GUI API, multi-OS and free for non-commercial use. You can also try GTK+ on Linux.

For "low-level" graphical programming (for games for example), take a look about SDL (multi-OS) or SFML (OpenGL based).

For Windows, of course use Winsock.
One UNIX/linux, try BSD sockets (take a look on the Steven's book related).

What about cross-platform Qt Sockets? ;_;

-Albatross
Last edited on
valuable, that's quite (hehe) subjective. However I like winsock and bsd sockets, I've never messed with QT socks, but I'm sure they're great. It's pretty easy to get up and running with winsock, and beej's guide is great. There's a lot you can do that's cross-platform, but the fastest functions are not (eg poll, and winsock specific functions)

If you're making your own protocol, may I suggest that you use a header-type packet instead of a beginning and end command character type packet, it's much more flexible.
Last edited on
big thanks for all valuable infos so far...

since I'm targetiing to windows platform first and maybe linux some other time in the future I'll start with winsock and QT for now..

@Albatross
If the OP decides to go with Qt as a cross-platform multipurpose API, then Qt Sockets might integrate better with the rest of the Qt application.
...
...
What about cross-platform Qt Sockets? ;_;

that's good info and this will be my next move in network programing after winsock, for cross-platform :D

cheers!
It's not necessary to use a particular library for sockets since the actions taken are pretty much always the same (like accept connect read write etc.) You might want to create your own class for that

if you want a framework consider POCO http://pocoproject.org/ which has a pretty good network support
You can also consider the Portable Tools lib : PTlib:

http://www.opalvoip.org/docs/ptlib-v2_8/

You might want to create your own class for that

is it possible to make own socket library using core C++ and standard libs only?
or do I need some extra framework like, ie. POCO which you mentioned.

thanks.
Oh you can definitely make your own socket library =]
I'm pretty sure you can't do it with just the standard library.
Oh definitely not with the standard lib, sorry misread your question.
acctually I do not intend to make my own sockets, first because I have no idea on how to do that lol,
I was just wondering if it is possible :)

Todays gui frameworks like QT or wxWidgets (or .NET) do have a class for sockets
Topic archived. No new replies allowed.