• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 07:57
CET 12:57
KST 20:57
  • 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
[ASL20] Finals Preview: Arrival13TL.net Map Contest #21: Voting10[ASL20] Ro4 Preview: Descent11Team TLMC #5: Winners Announced!3[ASL20] Ro8 Preview Pt2: Holding On9
Community News
Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win22025 RSL Offline Finals Dates + Ticket Sales!9BSL21 Open Qualifiers Week & CONFIRM PARTICIPATION1Crank Gathers Season 2: SC II Pro Teams10Merivale 8 Open - LAN - Stellar Fest3
StarCraft 2
General
Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win RotterdaM "Serral is the GOAT, and it's not close" Could we add "Avoid Matchup" Feature for rankgame The New Patch Killed Mech! Chinese SC2 server to reopen; live all-star event in Hangzhou
Tourneys
Crank Gathers Season 2: SC II Pro Teams 2025 RSL Offline Finals Dates + Ticket Sales! Merivale 8 Open - LAN - Stellar Fest $5,000+ WardiTV 2025 Championship $3,500 WardiTV Korean Royale S4
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 497 Battle Haredened Mutation # 496 Endless Infection Mutation # 495 Rest In Peace Mutation # 494 Unstable Environment
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ [ASL20] Ask the mapmakers — Drop your questions BW General Discussion BSL Team A vs Koreans - Sat-Sun 16:00 CET [ASL20] Finals Preview: Arrival
Tourneys
[ASL20] Grand Finals The Casual Games of the Week Thread BSL21 Open Qualifiers Week & CONFIRM PARTICIPATION ASL final tickets help
Strategy
PvZ map balance How to stay on top of macro? Soma's 9 hatch build from ASL Game 2 Current Meta
Other Games
General Games
Stormgate/Frost Giant Megathread General RTS Discussion Thread Path of Exile Nintendo Switch Thread Dawn of War IV
Dota 2
Official 'what is Dota anymore' discussion LiquidDota to reintegrate into TL.net
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
TL Mafia Community Thread SPIRED by.ASL Mafia {211640}
Community
General
Russo-Ukrainian War Thread US Politics Mega-thread Things Aren’t Peaceful in Palestine YouTube Thread The Chess Thread
Fan Clubs
White-Ra Fan Club The herO Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece Korean Music Discussion Series you have seen recently...
Sports
2024 - 2026 Football Thread MLB/Baseball 2023 Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023 NBA General Discussion
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
Just for future reference, …
Peanutsc
Reality "theory" prov…
perfectspheres
The Benefits Of Limited Comm…
TrAiDoS
Our Last Hope in th…
KrillinFromwales
Certified Crazy
Hildegard
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1356 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)11584 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 3m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Lowko245
Rex 96
StarCraft: Brood War
Bisu 2366
BeSt 916
actioN 524
Mini 209
EffOrt 196
Last 176
Light 155
sSak 153
Mind 61
PianO 60
[ Show more ]
ToSsGirL 59
Aegong 56
Liquid`Ret 35
sorry 30
Sharp 23
Larva 21
soO 19
Icarus 17
Sacsri 16
yabsab 14
scan(afreeca) 11
Bale 8
Terrorterran 8
HiyA 5
Dota 2
XcaliburYe349
ODPixel161
Counter-Strike
fl0m472
x6flipin459
oskar97
Other Games
singsing1870
olofmeister1199
B2W.Neo603
Pyrionflax389
crisheroes264
Sick168
Hui .137
Happy84
Mew2King66
Organizations
Counter-Strike
PGL11941
StarCraft: Brood War
lovetv 16
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• LUISG 67
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 2
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Jankos2824
Upcoming Events
OSC
3m
WardiTV96
CrankTV Team League
1h 3m
Shopify Rebellion vs Team Falcon
BASILISK vs Team Liquid
Replay Cast
11h 3m
The PondCast
21h 3m
CrankTV Team League
1d 1h
Replay Cast
1d 22h
WardiTV Invitational
2 days
ByuN vs Spirit
herO vs Solar
MaNa vs Gerald
Rogue vs GuMiho
CrankTV Team League
2 days
Replay Cast
2 days
BSL Team A[vengers]
3 days
Dewalt vs Shine
UltrA vs ZeLoT
[ Show More ]
BSL 21
3 days
Sparkling Tuna Cup
3 days
BSL Team A[vengers]
4 days
Cross vs Motive
Sziky vs HiyA
BSL 21
4 days
Wardi Open
5 days
Monday Night Weeklies
5 days
Liquipedia Results

Completed

CSL 2025 AUTUMN (S18)
WardiTV TLMC #15
Eternal Conflict S1

Ongoing

BSL 21 Points
BSL 21 Team A
C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
SOOP Univ League 2025
CranK Gathers Season 2: SC II Pro Teams
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025

Upcoming

SC4ALL: Brood War
YSL S2
BSL Season 21
SLON Tour Season 2
BSL 21 Non-Korean Championship
RSL Offline Finals
WardiTV 2025
RSL Revival: Season 3
Stellar Fest
SC4ALL: StarCraft II
META Madness #9
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 2025
IEM Chengdu 2025
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 © 2025 TLnet. All Rights Reserved.