• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 07:18
CEST 13:18
KST 20:18
  • 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
[ASL21] Ro4 Preview: On Course10Code S Season 1 - RO8 Preview7[ASL21] Ro8 Preview Pt2: Progenitors8Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun13[ASL21] Ro8 Preview Pt1: Inheritors16
Community News
Maestros of The Game 2 announcement and schedule !8Weekly Cups (April 27-May 4): Clem takes triple0RSL Revival: Season 5 - Qualifiers and Main Event12Code S Season 1 (2026) - RO12 Results12026 GSL Season 1 Qualifiers25
StarCraft 2
General
Code S Season 1 - RO8 Preview Behind the Blue - Team Liquid History Book Weekly Cups (April 27-May 4): Clem takes triple Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool Code S Season 1 (2026) - RO12 Results
Tourneys
Maestros of The Game 2 announcement and schedule ! GSL Code S Season 1 (2026) WardiTV Mondays Sparkling Tuna Cup - Weekly Open Tournament Sea Duckling Open (Global, Bronze-Diamond)
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players
External Content
Mutation # 525 Wheel of Misfortune The PondCast: SC2 News & Results Mutation # 524 Death and Taxes Mutation # 523 Firewall
Brood War
General
ASL Tickets to Live Event Finals? [ASL21] Ro4 Preview: On Course Quality of life changes in BW that you will like ? Why there arent any 256x256 pro maps? RepMastered™: replay sharing and analyzer site
Tourneys
[ASL21] Semifinals A [BSL22] RO16 Group Stage - 02 - 10 May [Megathread] Daily Proleagues [ASL21] Ro8 Day 3
Strategy
Simple Questions, Simple Answers Fighting Spirit mining rates Muta micro map competition What's the deal with APM & what's its true value
Other Games
General Games
Warcraft III: The Frozen Throne Stormgate/Frost Giant Megathread Path of Exile Nintendo Switch Thread Daigo vs Menard Best of 10
Dota 2
The Story of Wings Gaming
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
Russo-Ukrainian War Thread US Politics Mega-thread UK Politics Mega-thread The Letting Off Steam Thread European Politico-economics QA Mega-thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece [Req][Books] Good Fantasy/SciFi books
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Formula 1 Discussion
World Cup 2022
Tech Support
streaming software Strange computer issues (software) [G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
How EEG Data Can Predict Gam…
TrAiDoS
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1641 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)11597 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
Afreeca Starleague
10:00
Ro4 Match 1
Soma vs Leta
Afreeca ASL 20981
StarCastTV_EN531
Liquipedia
GSL
08:00
2026 Season 2: Qualifiers
herO vs SHINLIVE!
Zoun vs Maru
IntoTheiNu 826
CranKy Ducklings SOOP90
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Lowko265
OGKoka 94
Livibee 11
StarCraft: Brood War
Calm 17488
Bisu 6574
Jaedong 5254
Sea 2001
BeSt 1456
EffOrt 928
Horang2 739
Hyuk 644
Pusan 492
Soulkey 411
[ Show more ]
ZerO 320
Larva 226
actioN 224
Rush 163
Hyun 134
Mind 106
Sharp 72
Killer 47
ToSsGirL 40
Aegong 38
Mong 36
HiyA 36
Bonyth 27
Sexy 24
Barracks 24
sorry 23
soO 21
Terrorterran 21
Hm[arnc] 15
Bale 11
SilentControl 8
IntoTheRainbow 8
Other Games
B2W.Neo273
crisheroes233
Pyrionflax191
monkeys_forever118
MindelVK23
Organizations
Counter-Strike
PGL26716
StarCraft: Brood War
UltimateBattle 276
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 14 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 4
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Nemesis5145
• TFBlade1067
Other Games
• WagamamaTV361
Upcoming Events
Wardi Open
42m
Monday Night Weeklies
4h 42m
OSC
12h 42m
CranKy Ducklings
22h 42m
Afreeca Starleague
22h 42m
Light vs Flash
Replay Cast
1d 21h
Replay Cast
2 days
The PondCast
2 days
OSC
2 days
Replay Cast
3 days
[ Show More ]
RSL Revival
3 days
OSC
4 days
Korean StarCraft League
4 days
RSL Revival
4 days
BSL
5 days
GSL
5 days
Cure vs TBD
TBD vs Maru
BSL
6 days
Replay Cast
6 days
Liquipedia Results

Completed

CSL 2026 SPRING (S20)
WardiTV TLMC #16
Nations Cup 2026

Ongoing

BSL Season 22
ASL Season 21
IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
KK 2v2 League Season 1
BSL 22 Non-Korean Championship
SCTL 2026 Spring
RSL Revival: Season 5
2026 GSL S1
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2

Upcoming

Escore Tournament S2: W7
YSL S3
Escore Tournament S2: W8
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
Maestros of the Game 2
2026 GSL S2
BLAST Bounty Summer 2026: Closed Qualifier
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 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.