Recent

Author Topic: Client > Server > "Server"  (Read 10336 times)

Jishaxe

  • Full Member
  • ***
  • Posts: 103
  • Hobbist Programmer
Client > Server > "Server"
« on: May 10, 2011, 08:57:37 pm »
Hello. There is something I want to achieve but do not have the necessaries to do so. But I know another way it could be achieved, I wondered if anyone knew if such service exists. Here we go:
I have two programs for the sake of the post. One's a server and one's a client.  I want the client to be installed on another computer outside my network, and the server to be on my computer. I want a user to start up the client program from his computer and connect to the server through the Internet, and send a string to the server, which I can then view.
Problem is I can't set up port forwarding on my router to receive the connection and have it forwarded to the server.
This is where my idea comes in;


There is a in-between server that passes the string between the client and the "server" (which is on my computer). The "server" and client both connect to the in-between server, and any data sent from the client gets sent to the "server" and vice versa. Perhaps a user account system? You create an account on the website and get a username and password. Each account can have two connections at a time, through telnet or something and then what I explained above happens.

This is just a wild idea that I think would be very useful.
Do you get me? I hope it isn't too confusing, I've explained it the best I can.
Does anyone know if a service like this exists? It would be very useful if it did.
Thanks, Jishaxe.
« Last Edit: May 10, 2011, 11:12:30 pm by Jishaxe »
Linux Mint 12
Windows 7 Home Premium
______________________
Definition of programmer: An organism that converts caffeine into software.

eny

  • Hero Member
  • *****
  • Posts: 1634
Re: Client > Server > "Server"
« Reply #1 on: May 10, 2011, 11:18:53 pm »
The concept you are describing is called multitier architecture (e.g. http://en.wikipedia.org/wiki/Multitier_architecture).
All posts based on: Win10 (Win64); Lazarus 2.0.10 'stable' (x64) unless specified otherwise...

Jishaxe

  • Full Member
  • ***
  • Posts: 103
  • Hobbist Programmer
Re: Client > Server > "Server"
« Reply #2 on: May 10, 2011, 11:24:31 pm »
This is similar but not exactly what I was thinking of, and sadly doesn't fix my problem. You would think out of all the Internet, with all the free file and database hosting, someone would think to set up the service I require. Maybe I shall call the king of the Interwebz.
Linux Mint 12
Windows 7 Home Premium
______________________
Definition of programmer: An organism that converts caffeine into software.

Almindor

  • Sr. Member
  • ****
  • Posts: 412
    • http://www.astarot.tk
Re: Client > Server > "Server"
« Reply #3 on: May 12, 2011, 08:02:17 am »
It's called a proxy :) Although what you're describing is "the other way around" that typical HTTP proxy for example.

I have implemented such a "server in the middle" for testing lNet's memory handling (after a bug report). This isn't in the SVN yet, but I'll commit it for you tonight.

Jishaxe

  • Full Member
  • ***
  • Posts: 103
  • Hobbist Programmer
Re: Client > Server > "Server"
« Reply #4 on: May 12, 2011, 06:36:25 pm »
It's called a proxy :) Although what you're describing is "the other way around" that typical HTTP proxy for example.

I have implemented such a "server in the middle" for testing lNet's memory handling (after a bug report). This isn't in the SVN yet, but I'll commit it for you tonight.
I guess it is a proxy, I forgot that it could be described as one!
But I'm looking for a publicly available "proxy" that is designed for just forwarding simple strings and one that works both ways!
Thing is though, I'm looking for a dedicated server that delivers such service that does this for free, not the software that would run the server in the middle.
Thanks, Jishaxe
Linux Mint 12
Windows 7 Home Premium
______________________
Definition of programmer: An organism that converts caffeine into software.

disassembler

  • Newbie
  • Posts: 1
Re: Client > Server > "Server"
« Reply #5 on: May 19, 2011, 09:23:59 am »
Hi,

Wat you are talking about is called TURN (Traversal Using Relay NAT) There are no free services that support this sinds it has a heavy load balance. An other way of connecting 2 computers inside different NATs is using a STUN (Simple Traversal of UDP through NAT, also exists for tcp) server. this uses holepunching to create a connection. There are a few free servers for this, but i have never used those.

What you can use for free are XMPP (former jabber) servers. There are a lot of servers supporting this you can use. Google created an extention called Jingle(used by googleTalk) for XMPP wich allows you to create realtime streams between 2 computers. But the protocol is designed to be adapted so you can create any app you like. The only small problem is that you have to create 2 users. one for the server and one for the client.

Jishaxe

  • Full Member
  • ***
  • Posts: 103
  • Hobbist Programmer
Re: Client > Server > "Server"
« Reply #6 on: May 25, 2011, 10:32:57 pm »
Hi,

Wat you are talking about is called TURN (Traversal Using Relay NAT) There are no free services that support this sinds it has a heavy load balance. An other way of connecting 2 computers inside different NATs is using a STUN (Simple Traversal of UDP through NAT, also exists for tcp) server. this uses holepunching to create a connection. There are a few free servers for this, but i have never used those.

What you can use for free are XMPP (former jabber) servers. There are a lot of servers supporting this you can use. Google created an extention called Jingle(used by googleTalk) for XMPP wich allows you to create realtime streams between 2 computers. But the protocol is designed to be adapted so you can create any app you like. The only small problem is that you have to create 2 users. one for the server and one for the client.

Thank you for the names and explanation, now I have something to research :D
Linux Mint 12
Windows 7 Home Premium
______________________
Definition of programmer: An organism that converts caffeine into software.

 

TinyPortal © 2005-2018