• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 12:19
CEST 18:19
KST 01:19
  • 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] Ro4 Preview: Mirror Mirror4[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5[ASL22] Ro16 Preview: Rough Waters10
Community News
Weekly Cups Results (Sep 28-Oct 4)0SC4ALL: II SC2 Complete Invited Player Lineup10StarCraft II 5.0.17 PTR Patch Notes (Sept 30, 2026)75Weekly Cups (Sept 21-27): herO and ByuN double2Weekly Cups (Sep 13-20): herO scores triple3
StarCraft 2
General
StarCraft II 5.0.17 PTR Patch Notes (Sept 30, 2026) How do you feel about the mass reverts in the 5.0.17 PTR? Weekly Cups Results (Sep 28-Oct 4) SC4ALL: II SC2 Complete Invited Player Lineup Back to SC2 after 14 years - Protoss CTRL groups?
Tourneys
Stellar Fest TWO the Moon (Dec 16-20) Sparkling Tuna Cup - Weekly Open Tournament 2026 GSTL Grand Finals Sea Duckling Open (Global, Bronze-Diamond) SC2 INu's Battles#21 [ 3-Days tournament ]
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
[M] (2) Sweltering Sands [M] (2) Frigid Storage
External Content
Mutation # 546 Catch the Train The PondCast: SC2 News & Results Mutation # 545 And Drops and Rifts Mutation # 544 Double Trouble
Brood War
General
Sagi.gg Launcher Released 20-year-old Valorant player starting StarCraft BGH Auto Balance -> http://bghmmr.eu/ Fantasy returning? BSL Season 23
Tourneys
[ASL22] Semifinal B [ASL22] Semifinal A [Megathread] Daily Proleagues [ASL22] Ro8 Day 4
Strategy
Cliff Jump Revisited (1 in a 1000 strategy) Replay Review Process - What do you do? Simple Questions, Simple Answers
Other Games
General Games
General RTS Discussion Thread Nintendo Switch Thread Warcraft III: The Frozen Throne Stormgate/Frost Giant Megathread Total Annihilation Zero
Dota 2
Dota 2 Champions League Season 3 Begins April 25! Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
Russo-Ukrainian War Thread US Politics Mega-thread Canadian Politics Mega-thread Dating: How's your luck? Artificial Intelligence Thread
Fan Clubs
Serral Fan Club
Media & Entertainment
Movie Discussion! [Manga] One Piece Diablo Animated Series on Netflix
Sports
Football (Soccer) Thread MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Recent Gifted Posts
Blogs
[ASL22] Ro4 Day1 Ticket Giv…
bITt.mAN
Escaping Into Video Games: G…
TrAiDoS
38 yo Retired SWE loo…
PurE)Rabbit-SF
Can Bots Beat Pros?? Starcr…
namkraft
[meme] I finally understa…
LUCKY_NOOB
Regacy Esports:Our Goa…
regacyesports
Customize Sidebar...

Website Feedback

Closed Threads



Active: 9970 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)11601 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
Next event in 7h 41m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
ProTech156
UpATreeSC 92
BRAT_OK 24
StarCraft: Brood War
Calm 4769
Bisu 1819
Soulkey 1461
EffOrt 856
Mini 609
Horang2 378
Larva 372
ZerO 334
actioN 243
ggaemo 208
[ Show more ]
Dewaltoss 131
Mind 97
Shinee 83
Sharp 69
hero 67
Sea.KH 65
sorry 63
Barracks 56
Snow 53
Hyun 41
Bale 30
Trap 30
ToSsGirL 24
Terrorterran 19
NaDa 18
Rock 16
scan(afreeca) 14
Sacsri 12
Noble 11
zelot 9
ajuk12(nOOB) 6
Dota 2
Gorgc5513
qojqva2660
Dendi1268
420jenkins297
XaKoH 42
League of Legends
Reynor66
Counter-Strike
fl0m3563
x6flipin845
Fnx 689
edward43
Heroes of the Storm
crisheroes370
Other Games
Liquid`RaSZi1329
hiko981
FrodaN389
B2W.Neo331
XBOCT232
Liquid`VortiX197
Livibee164
QueenE110
TKL 74
Mew2King44
ZerO(Twitch)16
Organizations
Other Games
WardiTV141
Dota 2
PGL Dota 2 - Main Stream32
[ Show 14 non-featured ]
StarCraft 2
• StrangeGG 59
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• HerbMon 46
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• WagamamaTV606
League of Legends
• Nemesis3886
• TFBlade732
Other Games
• Shiphtur457
Upcoming Events
PiGosaur Cup
7h 41m
Patches Events
23h 41m
The PondCast
1d 17h
INu's Battles
1d 18h
Percival vs TBD
Zoun vs herO
OSC
2 days
Replay Cast
2 days
OSC
3 days
BSL: Ladder Tournament
4 days
Sparkling Tuna Cup
4 days
Patches Events
4 days
[ Show More ]
BSL Open Qualifier
5 days
BSL Open Qualifier
5 days
WardiTV Weekly
6 days
Liquipedia Results

Completed

CSL 2026 AUTUMN (S22)
Blizzard Classic Cup 2026
Copium Cup

Ongoing

ASL Season 22
Super Anchor Qualifying S3
Acropolis #5
Acropolis #5 - GSB
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
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual

Upcoming

Acropolis #5 - GSC
BSL Season 23
SC4ALL II: Brood War
BSL 23: Non-Korean Championship
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
HCC Season 3
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
IEM Beijing 2026
Stake Ranked Episode 5
PGL Masters Bucharest 2026
1win Private Club #2
Thunderpick World Champ. '26
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.