Welcome Guest.   Make a donation to an author on the site April 16, 2014, 07:52:01 PM  *

Please login or register.
Or did you miss your validation email?


Login with username and password (forgot your password?)
Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.


You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.
 
The N.A.N.Y. Challenge 2014! Download dozens of custom programs!
   
   Forum Home   Thread Marks Chat! Downloads Search Login Register  
Pages: [1]   Go Down
  Reply  |  New Topic  |  Print  
Author Topic: new software - dst  (Read 3398 times)
kobi7
Member
**
Posts: 19

View Profile Give some DonationCredits to this forum member
« on: February 17, 2011, 02:06:16 AM »

okay, so this would be my second application listed here. I'm a (relatively) beginner programmer, and will use C# for this work.
I haven't finished the functional parts yet, about 50% there.

the deal is, I reached a barrier of software complexity, leading to slow advancement.
(btw, if you have suggestions how to deal with it, I'm all ears)

I am going to reorganize my code, possibly as dlls,
and post here very small increments of the gui, adding functionality bit by bit, once it's clean enough.
the basic design is pretty good, but the functioning design is lacking.
(anyone has recommendations how to approach a design phase in software? - this, I know almost nothing about)

so the first versions are going to be entirely fake ones. do nothing. (and won't even look like the real one)
the program is called DST, direct secure talk.
it will be a connection between 2 people.
then it will also be secure, communication will be encrypted. (with a feature that the keys change with increased bitsize every x minutes)
then it will add features like chat, and file transfer. (and possibly one more feature)
I see value in this program, for my own and my friends usage. it will be donationware/charity-ware. but I won't publish the source.

the plan is to post here all the versions, even those who'd do nothing, because it may help me with dedication and self discipline.
I also don't work on it full time, so there will be some time before releases.

anyway, hope you'll like this toy, and hoping it becomes mature.
I'm interested in seeing gui mockups too.

(you can use the excellent Caretta gui design studio: http://www.carettasoftwar...gnStudio_R36095_Setup.exe)

and lastly, please visit http://www.faluninfo.net
important information about persecution of innocent people - falun gong practitioners - in communist china.

thanks, Kobi

Logged
kobi7
Member
**
Posts: 19

View Profile Give some DonationCredits to this forum member
« Reply #1 on: February 17, 2011, 02:35:52 AM »

test gui, fake version.
D - no
S - no
T - no.

plans:
next version will have the tcp connector.
next+1 will have a server to connect to. (D yes)
next+2 will have a handshake protocol.

* dst_20111702.7z (5.86 KB - downloaded 90 times.)
Logged
Ath
Supporting Member
**
Posts: 2,131



see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #2 on: February 17, 2011, 02:48:54 AM »

Is this just for fun or are you trying to create another msn/skype/im platform with a new proprietary protocol?
Logged

kobi7
Member
**
Posts: 19

View Profile Give some DonationCredits to this forum member
« Reply #3 on: February 17, 2011, 03:37:02 AM »

no, the software will be restricted by design to a connection of two people, that is direct connection.
you can say it's for fun, it's a software project assignment I chose to do (college programming course).
Logged
kobi7
Member
**
Posts: 19

View Profile Give some DonationCredits to this forum member
« Reply #4 on: February 17, 2011, 12:04:25 PM »

a quick update, the organizing into dlls is a great success. reduced code size -> reduced complexity.
In another language I'm familiar with, the way to code is to start vocabularies (another name for libraries)
which have static functions (words) and public constructors, but do not have state. (maybe internally they have a private state to update between the words.)
the state remains in a few isolated places, in your own program, and there too it's pretty minimal.
So it's much easier to reason and see the picture when you split your code to functionality providing dlls, and the minimum active state and interacting with the user, that your program does.
following is cleanup, and enabling the gui to connect.
Logged
kobi7
Member
**
Posts: 19

View Profile Give some DonationCredits to this forum member
« Reply #5 on: February 19, 2011, 08:16:56 AM »

still no functionality, just a ui change for easier testing later.
maybe have a chance to finish the clean up today.

by the way, any of the programmers here know how to test network code? (too much state)
preferably unit testing it?

* dst_20111902.7z (6.81 KB - downloaded 96 times.)
Logged
kobi7
Member
**
Posts: 19

View Profile Give some DonationCredits to this forum member
« Reply #6 on: February 20, 2011, 07:29:56 AM »

progress. still unusable. (but compiles and runs, and the cleanup is almost complete)

The server can wait for, and accept a connection.
the gui doesn't show much or give feedback (except for a bit of color)
the client does nothing at the moment, so you can't really connect to the server.

I haven't implemented shutting the port yet. (not hooked)

just a progress update.
soon things will start to get functional.
and after a bit of testing the gui will change to something usable.

* dst_20112002.7z (18.34 KB - downloaded 94 times.)
« Last Edit: February 20, 2011, 11:53:30 AM by kobi7 » Logged
Stoic Joker
Honorary Member
**
Posts: 4,869



View Profile WWW Give some DonationCredits to this forum member
« Reply #7 on: February 20, 2011, 08:08:35 AM »

This is a project I play with from time to time, It's a windows service that pings a listening app with info about the sending machines status. It's a bit crude but shows the basics of the back and forth socket handling stuff. It's written is pure Win32 API C++. Hopefully it may be helpful.

* Dynamic DNS Service Suite.rar (94.1 KB - downloaded 88 times.)
Logged
kobi7
Member
**
Posts: 19

View Profile Give some DonationCredits to this forum member
« Reply #8 on: February 21, 2011, 09:17:00 AM »

Thank you friend
Logged
kobi7
Member
**
Posts: 19

View Profile Give some DonationCredits to this forum member
« Reply #9 on: February 26, 2011, 09:26:16 AM »

Here's a newer version.
mainly reworked the handshaking protocol, which you don't yet see. (it's more elegant now)
visible features:
- The server can now open and shut a port.

the client still doesn't do anything.
Next is allowing a client to connect, then you can start playing / breaking.

enjoy, kobi

this week I hadn't much time to work on it.
when I did I mainly learned that debugging dlls is harder. (even though all code is available)
Anyone knows the way to do it? (right now I just copy my code over, and make slight changes)
I may add a logging utility.

* dst_20112602.7z (21.35 KB - downloaded 87 times.)
Logged
kobi7
Member
**
Posts: 19

View Profile Give some DonationCredits to this forum member
« Reply #10 on: February 28, 2011, 06:14:39 AM »

pleased to release a new version.
changes:
the server now handles connections.
the client can now connect.

(if anyone reads this :-))
please if you find any thrown exceptions or crashes, let me know that I missed them.

known issues:
if server drops the connection, and reopens the port,
the client can no longer connect. ( will fix for next release )

STATUS: work in progress.

next in plan:
- some fixes.
- starting handshake.

next+1:
- verify that everything still runs, and state is reset, if handshake fails internally.
- add the various handshaking actions.
- check that all is ok when handshake fails deliberately (due to wrong password)
next+2:
- start integrating communicator. (secure mode)
- allow non-local ips, and different port.
- revamp ui from start to the real ui.
- hook all parts.

next+3:
- much ui goodness.
- log is usable
- status responders usable.
- chat usable.
    the software is usable, move status to beta. feedback from users.

* dst_20112802.7z (21.27 KB - downloaded 100 times.)
Logged
Pages: [1]   Go Up
  Reply  |  New Topic  |  Print  
 
Jump to:  
   Forum Home   Thread Marks Chat! Downloads Search Login Register  

DonationCoder.com | About Us
DonationCoder.com Forum | Powered by SMF
[ Page time: 0.031s | Server load: 0.02 ]