BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Need several fresh ideas

 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Internet Winsock
View previous topic :: View next topic  
Author Message
Georgi Sandev
Guest





PostPosted: Thu Apr 29, 2004 9:31 am    Post subject: Need several fresh ideas Reply with quote



Hello
I need several ideas about the following:
I have to make an application very similar to Yahoo Messanger - i.e. it has
to provide users with the ability to chat in a public room and also to be
able to speak to each other and view each other - i.e. This application is
supposed to make audio and video transmission.
Now according to the text chatting I have no problems. I am using Indy and I
have organized a server application that is listening on a port and accepts
users messages and broadcast them to the other users.
This is OK. Here are my dificulties:
I am not quite sure how I have to organize the audio and video transmission.
If I follow the Yahoo Messanger ideas I am supposed to make point to point
A/V streaming - i.e. when User1 requests to view User2's web cam User2 must
open a port and to start broadcast his video on this port i.e. User2 two
becomes a server and User1 connects directly to it. Is it a good idea to use
this approach or you have some other better ideas?
Also - what will happen if User2 is behind a proxy and his real IP address
is masked?
I would appreciate all your experience and you ideas about this and also
about the way how to design such an application.
Please note here that my questions are not concerning the actual A/V
streaming techniques (I am using DSPack for this) but they are more
design-oriented.

Thanks



Back to top
Ioan Ghip
Guest





PostPosted: Thu Apr 29, 2004 4:45 pm    Post subject: Re: Need several fresh ideas Reply with quote




Quote:
Also - what will happen if User2 is behind a proxy and his real IP address
is masked?

then you connect both users using a central server, same way you do with
text messages and send from one user to the other one just jpeg images as
fast as you can

-ioan



Back to top
Georgi Sandev
Guest





PostPosted: Thu Apr 29, 2004 4:50 pm    Post subject: Re: Need several fresh ideas Reply with quote



Thanks.
I thought about this approach but I think that this will increase the delay
because of the one extra point - i.e. the server.


"Ioan Ghip" <delphi5eAThotmailDOTcom> wrote

Quote:

Also - what will happen if User2 is behind a proxy and his real IP
address
is masked?

then you connect both users using a central server, same way you do with
text messages and send from one user to the other one just jpeg images as
fast as you can

-ioan





Back to top
Ioan Ghip
Guest





PostPosted: Thu Apr 29, 2004 5:01 pm    Post subject: Re: Need several fresh ideas Reply with quote


Quote:
Thanks.
I thought about this approach but I think that this will increase the
delay
because of the one extra point - i.e. the server.


I think is the only way to do it if the user who braodcast the video is
behind a proxy firewall.
I think Yahoo is doing in the same way, only in super mode I think the video
connection is point to point, all other conections are using a central
server (you can see this in webcam's connection statistics).

-ioan



Back to top
Tony Caduto
Guest





PostPosted: Thu Apr 29, 2004 6:20 pm    Post subject: Re: Need several fresh ideas Reply with quote

Here is what you could do.

Since you are creating and controling the client and server it's easy to
determine if they are behind a proxy/router.
during the connection/logon to your directory server etc, pass the clients
local IP address and compare it with the peer IP address at the server.
If they are the same the user is not behind a router/firewall/proxy, if they
are different then they are. If they are behind a firewall etc the peer IP
will be the address of the firewall.
You can then tell the client to route all communications to other users via
the server instead of point to point.

It works well, and I have clients with 300+ users on conncurently using this
method. I am not doing the video/audio though.

--
Tony Caduto
AM Software Design
Inexpensive Corporate Instant Messaging
http://www.amsoftwaredesign.com



Back to top
Georgi Sandev
Guest





PostPosted: Fri Apr 30, 2004 5:19 am    Post subject: Re: Need several fresh ideas Reply with quote

Thanks. I'll think about this one

"Tony Caduto" <acaduto (AT) amsoftwaredesign (DOT) com> wrote

Quote:
Here is what you could do.

Since you are creating and controling the client and server it's easy to
determine if they are behind a proxy/router.
during the connection/logon to your directory server etc, pass the clients
local IP address and compare it with the peer IP address at the server.
If they are the same the user is not behind a router/firewall/proxy, if
they
are different then they are. If they are behind a firewall etc the peer
IP
will be the address of the firewall.
You can then tell the client to route all communications to other users
via
the server instead of point to point.

It works well, and I have clients with 300+ users on conncurently using
this
method. I am not doing the video/audio though.

--
Tony Caduto
AM Software Design
Inexpensive Corporate Instant Messaging
http://www.amsoftwaredesign.com






Back to top
Dan F
Guest





PostPosted: Fri Apr 30, 2004 10:21 pm    Post subject: Re: Need several fresh ideas Reply with quote

"Georgi Sandev" <georgi_sandev (AT) atianet (DOT) bg> wrote

Quote:
Thanks. I'll think about this one

"Tony Caduto" <acaduto (AT) amsoftwaredesign (DOT) com> wrote in message
news:40914754 (AT) newsgroups (DOT) borland.com...
Here is what you could do.

Since you are creating and controling the client and server it's easy to
determine if they are behind a proxy/router.
during the connection/logon to your directory server etc, pass the
clients
local IP address and compare it with the peer IP address at the server.
If they are the same the user is not behind a router/firewall/proxy, if
they
are different then they are. If they are behind a firewall etc the peer
IP
will be the address of the firewall.
You can then tell the client to route all communications to other users
via
the server instead of point to point.

It works well, and I have clients with 300+ users on conncurently using
this
method. I am not doing the video/audio though.

--
Tony Caduto
AM Software Design
Inexpensive Corporate Instant Messaging
http://www.amsoftwaredesign.com


If you are using TCP and only one person is behind a firewall/router as

detected by the method above, then just have the person who is behind the
router connect to the open user. If both are behind routers you will have
to go through the server. You might also want to look into the Windows XP
UPnP NAT API which allows programs behind UPnP routers to forward ports and
determine their external IP.

Dan



Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Internet Winsock All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.