Menu

Problems

Thotheolh
2008-01-26
2013-04-24
  • Thotheolh

    Thotheolh - 2008-01-26

    Hi. I tired using tcpfile over my LAN network using two computers each with LANShare. When I started , It was problematic. I tried to send one message to my other computer and it has some EOFException or something while stating that the other computer hung up the connection. Both timed out. I don't remember having any firewalls installed for both of them or was Windows Firewall the culprit ? After that , I closed the apps on both side and I restarted using the default name I used earlier. I was notified the name was taken. I don't remember anyone using this names except me.  Maybe I should get another name but why does the server says the name is taken when apparently in this entire place I am staying , I am the only one with this tcpfile , would get an error stating that the name is taken? May I know the architecture of tcpfile so that I can clearly understand how it works besides the part about RSA encrypted connections. Does tcpfile go to some sort of a server ?

    I think tcpfile need to be hardened to withstand such faults first.

    After reading other threads in the forum , I think the problem is somehow the server is holding onto my previous name. When I exit , I guess the codes didn't enable the webserver to forget my name. Could you add the forget function upon exit if it does not exist in the current codes ?

     
    • Thotheolh

      Thotheolh - 2008-01-26

      I think the files generated from the program should at least be stored in a proper folder and not thrown all over the place. It's bit untidy. I find that when i tried to invite another friend to the conference , my friend didn't get any conference tab . Maybe I would look into redo-ing the  experiemtn again before confirming if it's the program's fault. I think the tcpfil is still bit hard to move around and not very intuitive.

      Lots of room for improvement.

       
    • Stivo

      Stivo - 2008-01-26

      Well I was basically waiting for an answer to my email...

      I told you there whatever you do, check out the source from svn and run it, it is much better behaved than the currently released version.
      The 0.1.0 is a alpha release, since then everything has been thrown over and replaced, almost everything has been taken apart and done again.
      We will probably release again soon, it`s done when it`s done. Just a few parts are really missing though right now.
      1) Server. Yes, tcpfile uses a central server to track People and their IP Addresses. Why? Because somehow you need to know the other persons IP Address to contact them, and DHT is not an option if you have few friends using the same program. Next version will allow a bit more flexibility.
      The server registers your RSA Public Key. If you delete RSA.key from your program folder, you cant use your name again because it is blocked for a week (after that, it is deleted). This enables tcpfile to ensure a trust that the person is who you thinks it is. Think of it as a certification authority.
      If the server says your username is already taken you will not get any information from the server. Choose a different username, or get the RSA.key file that was registered for that name.
      2) Files generated: Yes we know. Next version will come in a zip file, therefore implying to extract it in a folder where it can mess around.
      3) Are you sure you had a connection? You can send ping as an IM, and you should receive a pong. Conferences are by the way a matter which we havent had a look into for a long while, so we might have to redo the whole thing. They will probably not be in the next release. But they were working more or less fine the way I remember them.
      4) For a simple connection in the LAN, you should be able to walk through the readme to get that done.

      Did you get my email?

       
    • Thotheolh

      Thotheolh - 2008-05-10

      Hmmm... I don't think I got the email but never mind. Sorry for the late reply. I have couple of stuff keeping me tied down to download the new versions of tcpfile and now I have some time, I would sit down and play with it for a while.

      Anyway, may I know what protocol did you use for sending files ? Is it a custom made TCP connection using Java or is it HTTP Get or FTP ?

       
    • Thotheolh

      Thotheolh - 2008-05-10

      Just another question, may I know in general how your plugin works ? Is tcpfile made in a way that you can create plugins and load them without modifying the main tcpfile codes ? Do you use any external platforms like Java Plugin Framework to allow tcpfile to handle plugins ?

      After looking through and using the new tcpfile for a while, it's well done :)

      I like most of the UI except the 'Java'. Maybe how about using Swing to represent the Java rather than using AWT or maybe also consider using SWT ?

      How long can I keep myself offline before I get deleted ?

      Using H2 as a default back end is a very good choice. :)

       
    • Stivo

      Stivo - 2008-05-10

      Thanks. It was a great jump, hence we skipped 0.2.0 :)

      To the questions:
      1) TCP is handled by java and mina. But the protocol on top of it is 100% custom made. It features asynchronous sending, priorities, optional Acknowledging, Speed Limitation and has 2 layers with protocols which can each be exchanged at runtime with others.
      2) Plugins are handled with the Java Plugin Framework. It's a bit hard to get started but definitely worth it. Allowing plugins is easy, but allowing useful plugins is the hard part. For example: If you want a plugin that reacts to certain events you have to broadcast these events somewhere. TCPFile does not currently do that.
      3) Its 100% Swing. The java look and feel just looks ugly if you select it on the fly. When it is started with it selected, it does look a bit better.
      4) After 1 Week without connecting you are deleted from the Server. But if you connect again, youre back in the Database - If the username is not taken. It is possible to live without the Server though, just not convenient.

      Yeah and H2 is by far the most convincing embedded database I have tried. It does understand 'MySQL'-SQL better than others and is easy to install. Also it has features that come in very handy...

       
    • Thotheolh

      Thotheolh - 2008-05-12

      I am managing a couple of projects to build applications that are plugin enabled but am wondering what plugin framework would be highly recommended and easy. From your description of JPF , it seems like I am going to have a rough start .. lol . I too stumbled around while trying to even start a basic JPF tutorial properly so I am actually doubting how easy would JPF allow me to start off.

       
    • Stivo

      Stivo - 2008-05-12

      Well I got started integrating JPF into an application with this article:
      http://www.alef1.org/jean/jpf/

      And this resulted in this class loading the Plugins:
      http://tcpfile.svn.sourceforge.net/viewvc/tcpfile/client/trunk/src/org/tcpfile/plugin/PluginHandler.java?view=markup
      Just instantiate it and use the function loadAllPlugins. It will load all extension points and their extensions.

      I have two types of plugins: Plugins that create their own Tab (DockablePlugin) and such that just install / deinstall themselves on startup / shutdown (InitializablePlugin).

      In this folder:
      http://tcpfile.svn.sourceforge.net/viewvc/tcpfile/client/trunk/plugindevelopment/

      The core plugin, the skinpackage, the upnpplugin2 and the hashplugin work including building them from XML files.
      The jpf tasks from the jpf-tools.jar never worked really for me. So I update the versions and zip the plugins directly.

      Hope it helps you get started...

       
    • Thotheolh

      Thotheolh - 2008-05-13

      Thanks a lot. Hope it would give me some lead.

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.