• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 00:44
CEST 06:44
KST 13:44
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL22] Ro24 Preview: Summer's End7Serral wins HomeStory Cup 2915Serral wins Maestros of the Game 244ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7
Community News
Weekly Cups (August 10-16): SHIN doubles2GSTL Returns in 2026!45Weekly Cups (Aug 3-9): Protoss get shut out7RSL goes to London! 2026 Offline Finals Nov 21-2212Weekly Cups (July 27-Aug 2): SHIN's big week0
StarCraft 2
General
GSTL Returns in 2026! SC4ALL II: SC2 Player Announcement 6/8 - Maru Balance hotfix patch 5.0.16b (July 16) Serral wins Maestros of the Game 2 Weekly Cups (August 10-16): SHIN doubles
Tourneys
2026 GSTL Announcement Master Swan Open (Global Bronze-Master 2) PIG STY FESTIVAL 8.0! (13 - 23 August) WardiTV Mondays 2026 KungFu Cup Announcement
Strategy
[G] Having the right mentality to improve
Custom Maps
Nexus Wars 2021 GUIDE [M] (2) Industrial Park
External Content
The PondCast: SC2 News & Results Mutation # 539 Thunder Dome Mutation # 538 Media Blackout Mutation # 537 Hostile Territory
Brood War
General
How Famous was FlaSh before his Debut? Are you ready for ASL 22? NEW HYPE VIDEO BW General Discussion [ASL22] Ro24 Preview: Summer's End [Personal Project Share] Terran Defense v0.60
Tourneys
[ASL22] Ro24 Group B [ASL22] Ro24 Group C KCM Race Survival 2026 Season 3 [Megathread] Daily Proleagues
Strategy
Odyssey Mineral Stack Saturation Fighting Spirit mining rates Any training maps people recommend? Simple Questions, Simple Answers
Other Games
General Games
Nintendo Switch Thread General RTS Discussion Thread Anyone here play Quakeworld back in the day? Stormgate/Frost Giant Megathread EVE Corporation
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish TSM pausing esports and CLG Dead
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Power Rank TL Mafia Community Thread NeO.D_StephenKing vs This Guy From 1 Million Dance
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Artificial Intelligence Thread The Letting Off Steam Thread European Politico-economics QA Mega-thread
Fan Clubs
The Creator Fan Club MarineLorD Fan Club The ShoWTimE Fan Club
Media & Entertainment
Movie Discussion! Anime Discussion Thread Series you have seen recently...
Sports
Football (Soccer) Thread MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023 NBA General Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Simple Questions Simple Answers FPS when play League Of Legend on laptop
TL Community
The Automated Ban List Northern Ireland Global Starcraft
Blogs
LOCKPICKING NOOB
LUCKY_NOOB
Chinese Gen Z: Between Dream…
TrAiDoS
Cathedral Of CS And NY pizza a…
FuDDx
Please support my new stand…
Peanutsc
Hello guys!
LIN1s
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6409 users

To C++ lovers and the like

Blogs > Raithed
Post a Reply
Raithed
Profile Blog Joined May 2007
China7078 Posts
April 29 2009 01:00 GMT
#1
I was brainstorming this with a friend of mine who is in the same major as I am. Basically, this project would be of our own doing and not for any class or whatever and we will be using C++ mainly to do this. I was wondering what we would need as in programming "skills" or whatever you'd like to call it, and other stuff to create this:

A chat client that would encode "blah" and while it transfers, "blah" it will add various hex into the ascii, then on the other side, receives the "blah" minus the hex.

It's an interesting idea though, isn't it? I have taken a C course years ago but I would love to get back into it because I enjoy programming.

*
CaucasianAsian
Profile Blog Joined September 2005
Korea (South)11600 Posts
April 29 2009 01:09 GMT
#2
do you mean something like AIM or MSN?
Calendar@ Fish Server: `iOps]..Stark
b3h47pte
Profile Blog Joined May 2007
United States1317 Posts
April 29 2009 01:24 GMT
#3
WinSock would probably be nice to know as well as the Win32 API or MFC.
And if you're interested in using .NET, that would be good to learn too.
CTStalker
Profile Blog Joined November 2004
Canada9720 Posts
April 29 2009 01:43 GMT
#4
there's already more than enough open source chat clients. your idea doesn't really make sense, though. so no, it's not an interesting idea
By the way, my name is Funk. I am not of your world
b3h47pte
Profile Blog Joined May 2007
United States1317 Posts
April 29 2009 01:51 GMT
#5
Well, you have to start somewhere. Obviously some ideas will be pretty retarded and will serve 0 purpose whatsoever, but programming SOMETHING is better than nothing.
Raithed
Profile Blog Joined May 2007
China7078 Posts
April 29 2009 01:52 GMT
#6
On April 29 2009 10:09 CaucasianAsian wrote:
do you mean something like AIM or MSN?

right now its only a thought stage but later on we'd want to implement it into AIM, but not msn(unicode).

On April 29 2009 10:43 CTStalker wrote:
there's already more than enough open source chat clients. your idea doesn't really make sense, though. so no, it's not an interesting idea


oh theres plenty, but do they do this?

person1 types blah.
blah goes through the server, etc, the blah gets attached hex onto it(so software, etc, cant read it).
person2 receives it as blah without the hex.
haduken
Profile Blog Joined April 2003
Australia8267 Posts
April 29 2009 02:33 GMT
#7
what is the point of the hex? are you trying to encrypt the message?

i made a very simple mirc like server/client for a university course. it is surprising not that difficult or long.
i did everything using C++ and POSIX sockets libary on linux.
my solution is multithreaded.

write down all the use cases before you start.
Rillanon.au
Raithed
Profile Blog Joined May 2007
China7078 Posts
April 29 2009 02:57 GMT
#8
On April 29 2009 11:33 haduken wrote:
what is the point of the hex? are you trying to encrypt the message?

i made a very simple mirc like server/client for a university course. it is surprising not that difficult or long.
i did everything using C++ and POSIX sockets libary on linux.
my solution is multithreaded.

write down all the use cases before you start.

yeah encrypting, etc. i mean its just something to do you know? hes starting to learn C++ on his own and i have some prior knowledge of it already. i have no idea what POSIX sockets are, id have to look into it. the "surprising not that difficult or long" is giving me some more interests.
haduken
Profile Blog Joined April 2003
Australia8267 Posts
April 29 2009 03:13 GMT
#9
There are many available C++ lib and framework (different programming models too)that cater for network programming. POSIX is a set of standards for UNIX libs that comes with development packages.
It is also available under Windows but I heard that it is not as mature as UNIX base. Network socket programming is very low level, i don't recommend it for real programming but can be interesting for students who are into that sort of stuff.

Rillanon.au
Raithed
Profile Blog Joined May 2007
China7078 Posts
April 29 2009 03:23 GMT
#10
low level, such as assembly?
0xDEADBEEF
Profile Joined September 2007
Germany1235 Posts
Last Edited: 2009-04-29 05:17:55
April 29 2009 05:13 GMT
#11
On April 29 2009 12:23 Raithed wrote:
low level, such as assembly?


No, low-level in the sense that you have to make do without libraries which offer convenient functions which get most of the stuff done for you. Low-level in a high-level language context means using the most basic of tools/functions available to you (i.e. those that are directly available without installing (and requiring from the user) to install additional libs). The upside of this is of course that you have much more control over the gory details. The downside is that it requires more code, is more error-prone and often boring and time-intensive. You decide.

Writing a chat client is pretty easy though, at least the basics. I think that's one of the first things someone who just gets into network programming does: a very basic client/server chat program.
Just know that the well-known chat services like MSN, ICQ, AIM etc. all use special protocols, so if you want to write a client that's compatible with these networks, you'd have to make sure your client sends the data in a special way so that the server accepts it.
Also know that if you really want to do encryption you better do it the right way and use good libraries (e.g. openssl) which handle all the details for you, because what you intend to do (converting data into hex and back?) is everything but safe. At least use something like RC4.
Of course things get much more complicated if you also wanted to include a modular structure, plugins maybe, if the code size generally becomes big enough (few thousand lines), if you want to add a nice GUI, or if you start adding a lot of features. But the basic thing is really easy. And considering your questions here, you should start very basic.
Raithed
Profile Blog Joined May 2007
China7078 Posts
April 29 2009 05:16 GMT
#12
yeah we are starting something very very simple, like D- newbie shit. thanks for the help though. but what does XOR or RC4 mean?
0xDEADBEEF
Profile Joined September 2007
Germany1235 Posts
April 29 2009 05:24 GMT
#13
Forget about (lone) XOR. RC4 see Wikipedia. In short: it's a simple to implement encryption method which is better than if you were to "invent" a new encryption type.
But encryption stuff generally is hard so you should absolutely use a lib for that.
DeathSpank
Profile Blog Joined February 2009
United States1029 Posts
April 29 2009 05:44 GMT
#14
oh silly kids...you're in above your heads....try writing the encryptor first...
yes.
haduken
Profile Blog Joined April 2003
Australia8267 Posts
April 29 2009 07:25 GMT
#15
the basics of a server/client chat program should take you no more than 2 man weeks to write.
msg me if you want some ideas.
Rillanon.au
BottleAbuser
Profile Blog Joined December 2007
Korea (South)1888 Posts
Last Edited: 2009-04-29 12:41:53
April 29 2009 12:39 GMT
#16
Is it difficult to implement RSA? I'd use that as a first choice if I really had to do some sort of encryption, because it won't be broken in 5 seconds.

If you're simply attaching some hex to the end of a message after it's been sent and removing it before it's viewed, I think that would be useful for covert communication between the two computers (such as botnet commands, perhaps, or protecting a communicator's identity).
Compilers are like boyfriends, you miss a period and they go crazy on you.
Sirakor
Profile Joined April 2003
Great Britain455 Posts
April 29 2009 19:19 GMT
#17
On April 29 2009 21:39 BottleAbuser wrote:
Is it difficult to implement RSA? I'd use that as a first choice if I really had to do some sort of encryption, because it won't be broken in 5 seconds.


The math is simple enough, but implementing it well, efficient and secure is not trivial. I'd certainly go with OpenSSL as was already suggested.

Much more important than the little details is the planning for you guys. Spend sufficient time laying out a specification for the program, lay out all use cases, all features and everything you could possibly ever want. Then prioritize and make a roadmap. Sure things won't go according to plan, the less experience you have, the less according to plan it will be, but at least you have a sense of where you're going and how far you have progressed.

Maybe it's obvious, but as you're just starting out I'll point it out nevertheless: you want to use version control, e.g. SVN. Especially if the project is likely to be more than a few 100 lines and has more than one person working on it. Otherwise failure is inevitable ;-)

And, if it's not too much to get your head around at the beginning (I don't know your background), consider test-driven development. Make it a compulsive habit, eventually you'll be very glad you did.
Please log in or register to reply.
Live Events Refresh
Replay Cast
00:00
2026 GSTL: Main Stage Day 1
CranKy Ducklings124
Discussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 138
ProTech75
FoxeR 34
StarCraft: Brood War
Rain 3474
GuemChi 1943
Snow 190
Noble 49
Icarus 7
Dota 2
The International93895
Gorgc5783
NeuroSwarm128
resolut1ontv 26
League of Legends
JimRising 750
Counter-Strike
summit1g7219
taco 311
minikerr36
Super Smash Bros
hungrybox1041
Other Games
WinterStarcraft283
C9.Mang0272
ViBE140
Maynarde101
Trikslyr20
Organizations
Other Games
gamesdonequick1019
BasetradeTV305
[ Show 15 non-featured ]
StarCraft 2
• Berry_CruncH288
• practicex 25
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• Azhi_Dahaki8
• iopq 4
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Rush1041
• Lourlo1016
• Stunt304
Upcoming Events
The PondCast
5h 16m
KCM Race Survival
5h 16m
Replay Cast
19h 16m
Escore
1d 5h
PiG Sty Festival
1d 7h
CranKy Ducklings
2 days
PiG Sty Festival
2 days
Patches Events
2 days
Sparkling Tuna Cup
3 days
PiG Sty Festival
3 days
[ Show More ]
The Patches Monday
4 days
GSL
5 days
PiGosaur Cup
5 days
Replay Cast
5 days
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2026-08-19
CranK Gathers Season 4: BW vs SC2 Team League
Eternal Conflict S2 Finale

Ongoing

KCM Race Survival 2026 Season 3
K-JUNGMAN
ASL Season 22
Super Anchor Qualifying S3
CSL Season 22: Qualifier 1
RSL Revival: Season 6
PiG Sty Festival 8.0
META DYMY #4
Esports World Cup 2026
Esports World Cup 2026: LCQ
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026

Upcoming

Escore Tournament S3: W8
CSL Season 22: Qualifier 2
CSL 2026 AUTUMN (S22)
Acropolis #5
Acropolis #5 - TRS
Blizzard Classic Cup 2026
Acropolis #5 - GSA
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
Big Dog Cup 2026 Div 1
IEM Beijing 2026
Stake Ranked Episode 5
PGL Masters Bucharest 2026
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.