Peer-To-Peer Serverless Multi-User Internet Chat Conferencer

User projects written in or related to FreeBASIC.
cenozoite
Posts: 243
Joined: Aug 21, 2005 21:41

Post by cenozoite »

VirusScanner wrote:The fileanchor link works now. Cool program, but I use a DSL modem so I can only connect to computers in the network. I'd have to set up forwarding which I don't know how to do.
I use a DSL modem too, and have no problems. External IP Adresses are universal. If you can type "www.freebasic.com" into your browser and successfully connect to this website, you can connect to any IP Address on the internet.

Try selecting option 4, Listen for invitations, and see what IP Address it tells you. Make sure that in Preferences, you have "Use Web Backup IP Check" enabled. If you're online and get this soon enough, I can test your connection right now.

Having a DSL modem by itself shouldn't present any obstacle to forming an outside connection. If you were on a very restrictive network/intranet where your administrator had forbidden external connections, that could be a problem, but that doesn't appear to be the case since you can connect to Freebasic's website.

EDIT: If you mean that your DSL modem has a NAT and only reports your network address, you should still be able to bypass that by using Web Backup IP Check to discover your true public IP Address. Or failing that, use a website like www.showmyip.com But if you mean that your DSL modem has an internal firewall that blocks any and all incoming connection attempts, yes, that is a problem. I had that hapening to me, and had to go into the modem's settings to deactivate the firewall. Those are annoying as hell. Even if you can't turn off the firewall or set up forwarding though, you can still initiate outgoing connections by using Invite, and having the other party Listen.
Torahteen
Posts: 91
Joined: Jul 15, 2005 15:58
Contact:

Post by Torahteen »

Sweet. Me love open source :D.

Ok, how does 2pm EST sound to everyone? I beleive that would be 1 pm Central and 12 o'clock MST (Me). Sounds like a plan to me. I'll try my best to make it. Just wait 'till like 2:10 to invite everyone. My IP is:

24.9.87.123

To get your IP, go to http://www.whatismyip.com
cenozoite
Posts: 243
Joined: Aug 21, 2005 21:41

Post by cenozoite »

Sounds good, I'll be there. Just make sure to check your IP and update it if it happens to change before the appointed time. Goodness knows mine will change a half dozen times before tomorrow comes ;)
Torahteen
Posts: 91
Joined: Jul 15, 2005 15:58
Contact:

Post by Torahteen »

Mine doesn't change. So I'll be good.
Torahteen
Posts: 91
Joined: Jul 15, 2005 15:58
Contact:

Post by Torahteen »

Be there in 15 minutes. IN fact. I'll go ahead and open the program and listen for invites.
cenozoite
Posts: 243
Joined: Aug 21, 2005 21:41

Post by cenozoite »

I tried to invite you at the address you posted a couple of times, but couldn't seem to reach you. Do you have the program running and listening? Any firewall or similar thing that could be blocking you from receiving incoming connections?
Torahteen
Posts: 91
Joined: Jul 15, 2005 15:58
Contact:

Post by Torahteen »

Sorry, try again
cenozoite
Posts: 243
Joined: Aug 21, 2005 21:41

Post by cenozoite »

I'm still not able to reach you. You must have some kind of hardware or software firewall operating that's blocking your connection. Try inviting me. I'm listening at:

70.48.153.25
Hexadecimal Dude!
Posts: 360
Joined: Jun 07, 2005 20:59
Location: england, somewhere around the middle
Contact:

Post by Hexadecimal Dude! »

cool
Aerthe and i had a conversation at 21:10 GMT and it went beautifully.
Can you implement all the text colours (16, if i'm not mistaken) you could split them into two palletes bright and subtle. Just a thought, wonderful prog.

-Hex
Torahteen
Posts: 91
Joined: Jul 15, 2005 15:58
Contact:

Post by Torahteen »

Hey! Congrats! The meeting between ceno and I went perfectly! We tested out the file sending system and received them perfectly. Can't wait for v2.0
cenozoite
Posts: 243
Joined: Aug 21, 2005 21:41

Post by cenozoite »

Thanks for the updates, everyone. As Torahteen posted, our test chat went perfectly as well, including two in-chat file transfers. As for adding colors, version 2 will actually likely use 256-color graphics mode, and I will provide access to all colors in the palette for both foreground and background text color.

Thanks for all the continung support! And remember, I am still interested in any bug reports anyone can provide upon encountering them...
Ryan
Posts: 695
Joined: Jun 10, 2005 2:13
Location: Louisville, KY
Contact:

Post by Ryan »

I was curious as to how you implemented the file transfer. And you said it had resume, so does it temporarily stop chatting to transfer?
cenozoite
Posts: 243
Joined: Aug 21, 2005 21:41

Post by cenozoite »

File transfers happen simultaneously along with chat, and neither one affects or interferes with the other. You can keep chatting while you watch the progress bar move along for the file transfer status. Resume is just for if you get cut off or interupted in the middle of a transfer, you have the option of resuming from where you left off last time instead of starting all over again from the beginning.

File transfer was implemented by opening the desired file in binary mode, then using GET to load however many bytes of it at a time you want into a ZSTRING, then SENDing that zstring to the party on the other side of the connection (using the connected winsock streaming socket), and having that receiving party open a file and use PUT to put the data from the zstring into the opened file.

It will be more clear once I publish the cleaned-up source code, but a very rudimentary demo version which will not actually work as code is:

Code: Select all

'(Sending party does:)
Dim Filebuffer as zstring * 1000
Open "whatever.jpg" for binary as #1
Get #1,1,Filebuffer
Send (connectedsocket, @Filebuffer, 1000, 0)

'(Other receiving party does:)
Dim Filebuffer as zstring *1000
Open "newfile.jpg" for binary as #1
Recv(connectedsocket, @Filebuffer, 1000, 0)
Put #1,1,Filebuffer
That's just an example version, and obviously you have to repeat the process with a loop for as many times as necessary to transfer the total number of bytes equal to the file size, and tell the program where in the outgoing or incoming binary files to get/place the data based on how much you've already transfered.

Since you're using binary mode for files, you can transfer any type of file that way and have it arrive intact.
Last edited by cenozoite on Oct 23, 2005 6:06, edited 1 time in total.
Shadowwolf
Posts: 341
Joined: May 27, 2005 7:01
Location: Canada
Contact:

Post by Shadowwolf »

yo cenozite can you upload this to some other achive like qb45.com or somewhere because i can't get i from ancor or the other link.

fileancor going through some evil server database problem right now and the other link just won't work.
cenozoite
Posts: 243
Joined: Aug 21, 2005 21:41

Post by cenozoite »

I just tested the fileanchor link and it did work for me, but I also edited the alternate download link. Go to that one, then click on "Download Cenochat". It *should* work again now. If you have to, right-click on the "Download Cenochat" link and pick Save-As, though it should work as just a straight click.
Post Reply