Closed

TCP, UDP Hole punching

This project was awarded to chenzd for $200 USD.

Get free quotes for a project like this
Employer working
Awarded to:
Project Budget
$30 - $250 USD
Total Bids
9
Project Description

If you don't know about TCP, UDP hole punching, don't bid. If You have not done any P2P application then it is less likely you can do it successfully.

I need a proof of concept or working code for TCP and UDP hole punching.
Here is the scenerio.

(1) I have a central server X with public IP address.
(2) 2 clients (A, B) connect with central server from two different countries with private IP address which are behind firewall or router.
(3) Central server will pass the public IP of A to B, public IP of B to A.
(3) Server A will connect directly to Server B with the information it received from central server.
(4) A and B are connected and without any more help from they can communicate using TCP or UDP protocol.
(5) Able to send simple "hello message" and get a reply from other end.

Implements both protocol or at least TCP protocol.

Before any payment project should be successfully tested using clients which is behind firewall and located in different network.

Implementation should have two component.
(A) Central server component, where Client first connected. It should be able to get and pass the public address of connected client to any other connected client
(B) Client component: Code to connect to central server. Receive connection detail for other client from central server. Able to initiate or negotiate connection with other client to get connected and start communicating.

Once you can do it successfully, you can bid my second project to start voice communication (P2P, client to client) using UDP protocol. Projects not yet live

Any of the following language is acceptable in order.
C#
VB
C/C++
Java
Perl

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online