Re: Nice socket Classes
Re: Nice socket Classes
- Subject: Re: Nice socket Classes
- From: Damien Bobillot <email@hidden>
- Date: Thu, 2 Dec 2004 13:48:50 +0100
Le 2 déc. 04, à 12:51, David Farler a écrit :
Very interesting. It's amazing what slips by me unnoticed. Maybe I'm
just not looking in the right places. Now if I can only ween my
friends off AIM.... ;)
I'm actually very interested in making a nice utility for file sharing
that has very strong encryption, if not just for the learning
experience. Encryption is interesting to me. I'm still relatively new
to Cocoa. I'm just now beginning to get the hang of it ... which means
Apple will probably be coming out with something else shortly. ;) I
suppose I should start learning more about sockets. Can someone give
me a start on sending formatted messages and file data, and how to
connect clients to each other directly? I'm also not sure how to
handle multiple connections to people. For instance, say a client is
listening on a certain port. Another client calls that port and they
agree to connect. Does another port open after that? And another for
the next person? And another? How is this normally handled? Also, I'm
guessing there should at least be a separate port for file transfers,
am I right? I bet this sounds silly to you veterans.
Rewriting an multi-plateform IM system is not a good solution : it's a
lot of work to acheive this purpose. You'll have to write GUI, presence
detection system… Extending an existing opensource application is imho
the good solution. For instance, Jabber's architecture is based on
plugins. So you may write a encrypted file transmission system as a
jabber's plugin : you'll get automatically all cross-platform
(macos/windows/linux), cross-IM-systems (aim, yahoo, msn, jabber) of
jabber.
For socket connexion design, you may have one TCP socket listening on a
port A, when someone want to send you a file, open a connexion on this
port, send information about the file, wait for peer answer, if it
accepts, send the file content. Adding encryption is not easy since you
have the both end to exchange their keys (read tutorials on certificate
management : you'll see it's a bit difficult to set up a good privacy
protocol).
--
Damien alias Schmurtz
aim:goim?screenname=schmuuurtz
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden